Files
Olares/docs/developer/install/environment-variables.md
2026-01-09 14:45:07 +08:00

142 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
outline: [2, 3]
description: Environment variables available in Olares for customizing networking, authentication, GPU support and other features. Includes configuration examples and specifications.
---
# Olares environment variables
Olares provides a highly customizable installation process through the use of environment variables. These variables can override default settings, enabling advanced configurations to suit your specific requirements.
## Usage examples
To customize the installation process, you can set the environment variables before running the installation command. For example:
```bash
# Specify Kubernetes (k8s) instead of k3s
export KUBE_TYPE=k8s \
&& curl -sSfL https://olares.sh | bash -
```
Or, if you have already downloaded the installation script `install.sh`:
```bash
# Specify Kubernetes (k8s) instead of k3s
export KUBE_TYPE=k8s && bash install.sh
```
Both methods achieve the same result. The environment variable `KUBE_TYPE` will be passed to the script, and the script will use it to modify its behavior.
## Environment variables reference
The section lists all the environment variables, along with their default values, optional values, and descriptions. Configure them as needed.
### `CLOUDFLARE_ENABLE`
Specifies whether to enable the Cloudflare proxy.
- **Valid values**:
- `0` (disable)
- `1` (enable)
- **Default**: `0`
### `FRP_AUTH_METHOD`
Sets the FRP authentication method.
- **Valid values**:
- `jws`
- `token` (requires `FRP_AUTH_TOKEN`)
- (empty) No authentication
- **Default**: `jws`
### `FRP_AUTH_TOKEN`
Specifies the token for FRP communication (required if `FRP_AUTH_METHOD=token`).
- **Valid values**: Any non-empty string
- **Default**: None
### `FRP_ENABLE`
Specifies whether to enable FRP for internal network tunneling. Requires additional FRP-related variables if using a custom server.
- **Valid values**:
- `0` (disable)
- `1` (enable)
- **Default**: `0`
### `FRP_PORT`
Specifies the FRP server's listening port.
- **Valid values**: An integer in the range `165535`
- **Default**: `7000` (if not set or set to `0`)
### `JUICEFS`
Installs [JuiceFS](https://juicefs.com/) alongside Olares.
- **Valid values**: `1`
- **Default**: None (does not install JuiceFS if not set)
### `KUBE_TYPE`
Determines the Kubernetes distribution to install.
- **Valid values**:
- `k8s` (full Kubernetes)
- `k3s` (lightweight Kubernetes)
- **Default**: `k3s`
### `LOCAL_GPU_ENABLE`
Specifies whether to enable GPU support and install related drivers.
- **Valid values**:
- `0` (disable)
- `1` (enable)
- **Default**: `0`
### `LOCAL_GPU_SHARE`
Specifies whether to enable GPU sharing. Applies only if GPU is enabled.
- **Valid values**:
- `0` (disable)
- `1` (enable)
- **Default**: `0`
### `NVIDIA_CONTAINER_REPO_MIRROR`
Specifies the APT repository mirror for installing NVIDIA Container Toolkit.
- **Valid values**:
- `nvidia.github.io`
- `mirrors.ustc.edu.cn` (recommended for better connectivity in mainland China)
- **Default**: `nvidia.github.io`
### `PREINSTALL`
Runs only the pre-installation phase (system dependency setup) without proceeding to the full Olares installation.
- **Valid values**: `1`
- **Default**: None (performs full installation if not set)
### `PUBLICLY_ACCESSIBLE`
Explicitly specifies that this machine is accessible publicly on the internet, and a reverse proxy should not be used.
- **Valid values**:
- `0` (false)
- `1` (true)
- **Default**: `0`
### `REGISTRY_MIRRORS`
Specifies a custom Docker registry mirror for faster image pulls.
- **Valid values**: `https://mirrors.olares.com` or any other valid URL
- **Default**: `https://registry-1.docker.io`
### `TERMINUS_IS_CLOUD_VERSION`
Marks the machine explicitly as a cloud instance.
- **Valid values**: `true`
- **Default**: None
### `TERMINUS_OS_DOMAINNAME`
Sets the domain name before installation to skip the interactive prompt.
- **Valid values**: Any valid domain name
- **Default**: None (prompts for domain name if not set)
### `TERMINUS_OS_EMAIL`
Specifies the email address to use instead of a generated one.
- **Valid values**: Any valid email address
- **Default**: None (a temporary email is generated if not set)
### `TERMINUS_OS_PASSWORD`
Specifies the password to use instead of a generated one.
- **Valid values**: A valid password with 632 characters
- **Default**: A randomly generated 8-character password
### `TERMINUS_OS_USERNAME`
Specifies the username before installation to skip the interactive prompt.
- **Valid values**: Any valid username (2250 characters, excluding reserved keywords)
- **Default**: None (prompts for username if not set)
- **Validation**: Reserved keywords include `user`, `system`, `space`, `default`, `os`, `kubesphere`, `kube`, `kubekey`, `kubernetes`, `gpu`, `tapr`, `bfl`, `bytetrade`, `project`, `pod`
### `TOKEN_MAX_AGE`
Sets the maximum validity period for a token (in seconds).
- **Valid values**: Any integer (in seconds)
- **Default**: `31536000` (365 days)