시스템 변수
이 환경 변수들은 앱 설치 시 PCS에 의해 자동으로 주입됩니다. docker-compose.yml에서 값을 하드코딩하는 대신 이 변수들을 사용하세요.
사용 가능한 변수
| 변수 | 예시 값 | 설명 |
|---|---|---|
$APP_DOMAIN | yourname.nsl.sh | 사용자의 도메인 루트. Caddy 라벨에 사용: myapp-${APP_DOMAIN} |
$APP_PUBLIC_IP_DASH | 203-0-113-42 | 점이 대시로 치환된 공인 IPv4. nip.io / sslip.io 주소에 사용. |
$AUTH_HASH | (자동 생성) | AppShield 인증을 위한 보안 토큰. index: /?hash=$AUTH_HASH와 함께 사용. |
$APP_DEFAULT_PASSWORD | (자동 생성) | 초기 부팅 시 관리자/DB 자격 증명을 위해 안전하게 생성된 비밀번호. |
$APP_EMAIL | admin@yourname.nsl.sh | 앱의 관리자 이메일 주소. |
$AppID | myapp | compose name: 필드에서 파생된 앱 이름. 볼륨 경로에 사용: /DATA/AppData/$AppID/. |
$PUID | 1000 | 파일 소유권을 위한 사용자 ID. 사용자 대상 디렉토리에 user: $PUID:$PGID와 함께 사용. |
$PGID | 1000 | 파일 소유권을 위한 그룹 ID. |
$TZ | Asia/Seoul | 시스템 시간대. |
사용 예시
Caddy 라벨에서
labels:
caddy_0: myapp-${APP_DOMAIN}
caddy_1: myapp-${APP_PUBLIC_IP_DASH}.nip.io
caddy_2: myapp-${APP_PUBLIC_IP_DASH}.sslip.io
볼륨 경로에서
volumes:
- /DATA/AppData/$AppID/config/:/app/config
- /DATA/AppData/$AppID/data/:/app/data
환경 변수에서
environment:
ADMIN_PASSWORD: $APP_DEFAULT_PASSWORD
ADMIN_EMAIL: $APP_EMAIL
TZ: $TZ
팁
도메인 이름, IP 주소 또는 비밀번호를 하드코딩하지 마세요. 항상 이 변수들을 사용하여 앱이 어떤 PCS에서든 올바르게 작동하도록 하세요.