fix(deploy): интерполяция compose без предупреждений о незаданных переменных

- пути томов и профиль Caddy задаются как GLCHAT_DATA_DIR/GLCHAT_CADDY_PROFILE
  (внутренний DATA_DIR=/app/data остаётся в environment сервиса app)
- значения записываются в .env, поэтому docker compose config проходит без
  предупреждений "variable is not set"
This commit is contained in:
2026-09-19 19:35:38 +03:00
parent 37fa3e0668
commit 741bb89bd3
3 changed files with 18 additions and 11 deletions
+4 -4
View File
@@ -36,9 +36,9 @@ services:
ports:
- "127.0.0.1:${APP_PORT}:8080"
volumes:
- "${DATA_DIR}/db:/app/data/db"
- "${DATA_DIR}/files:/app/data/files"
- "${DATA_DIR}/backups:/app/data/backups"
- "${GLCHAT_DATA_DIR}/db:/app/data/db"
- "${GLCHAT_DATA_DIR}/files:/app/data/files"
- "${GLCHAT_DATA_DIR}/backups:/app/data/backups"
logging: *default-logging
deploy:
resources:
@@ -90,7 +90,7 @@ services:
image: caddy:${CADDY_IMAGE_TAG}
container_name: glchat-caddy
restart: unless-stopped
profiles: ["${CADDY_PROFILE}"]
profiles: ["${GLCHAT_CADDY_PROFILE}"]
ports:
- "${HTTP_PORT}:80"
- "${HTTPS_PORT}:443"
+4 -4
View File
@@ -36,9 +36,9 @@ services:
ports:
- "127.0.0.1:${APP_PORT}:8080"
volumes:
- "${DATA_DIR}/db:/app/data/db"
- "${DATA_DIR}/files:/app/data/files"
- "${DATA_DIR}/backups:/app/data/backups"
- "${GLCHAT_DATA_DIR}/db:/app/data/db"
- "${GLCHAT_DATA_DIR}/files:/app/data/files"
- "${GLCHAT_DATA_DIR}/backups:/app/data/backups"
logging: *default-logging
deploy:
resources:
@@ -92,7 +92,7 @@ services:
image: caddy:${CADDY_IMAGE_TAG}
container_name: glchat-caddy
restart: unless-stopped
profiles: ["${CADDY_PROFILE}"]
profiles: ["${GLCHAT_CADDY_PROFILE}"]
ports:
- "${HTTP_PORT}:80"
- "${HTTPS_PORT}:443"
+10 -3
View File
@@ -251,8 +251,11 @@ resolve_derived_values() {
use_external_ip="true"
PROFILE_LIVEKIT_USE_EXTERNAL_IP="$use_external_ip"
GLCHAT_DATA_DIR="${GLCHAT_DATA_DIR}"
GLCHAT_CADDY_PROFILE="${CADDY_PROFILE}"
export FILES_DOMAIN_RESOLVED CADDY_PROFILE LIVEKIT_PUBLISH TURN_EXTERNAL_TLS \
PROFILE_LIVEKIT_DISABLE_SIMULCAST PROFILE_LIVEKIT_USE_EXTERNAL_IP
PROFILE_LIVEKIT_DISABLE_SIMULCAST PROFILE_LIVEKIT_USE_EXTERNAL_IP \
GLCHAT_DATA_DIR GLCHAT_CADDY_PROFILE
}
validate_inputs() {
@@ -470,6 +473,10 @@ APP_IMAGE=${APP_IMAGE}
CADDY_IMAGE_TAG=${CADDY_IMAGE_TAG}
LIVEKIT_IMAGE_TAG=${LIVEKIT_IMAGE_TAG}
# --- интерполяция compose (пути и профиль) ---
GLCHAT_DATA_DIR=${GLCHAT_DATA_DIR}
GLCHAT_CADDY_PROFILE=${CADDY_PROFILE}
# --- порты ---
APP_PORT=${APP_PORT}
LIVEKIT_WS_PORT=${LIVEKIT_WS_PORT}
@@ -616,7 +623,7 @@ render_all_templates() {
"PROFILE=${PROFILE_RESOLVED}" "APP_IMAGE=${APP_IMAGE}" \
"APP_PORT=${APP_PORT}" "LIVEKIT_WS_PORT=${LIVEKIT_WS_PORT}" \
"LIVEKIT_TCP_PORT=${LIVEKIT_TCP_PORT}" "LIVEKIT_UDP_PORT=${LIVEKIT_UDP_PORT}" \
"DATA_DIR=${GLCHAT_DATA_DIR}" "LOG_LEVEL=${LOG_LEVEL}" \
"GLCHAT_DATA_DIR=${GLCHAT_DATA_DIR}" "LOG_LEVEL=${LOG_LEVEL}" \
"SQLITE_READ_POOL=${PROFILE_SQLITE_READ_POOL}" \
"SQLITE_CACHE_SIZE=-${PROFILE_SQLITE_CACHE_MB}000" \
"SQLITE_MMAP_SIZE=$((PROFILE_SQLITE_MMAP_MB * 1024 * 1024))" \
@@ -626,7 +633,7 @@ render_all_templates() {
"LIVEKIT_CPUS=${PROFILE_LIVEKIT_CPUS}" "LIVEKIT_MEMORY_LIMIT=${PROFILE_LIVEKIT_LIMIT}" \
"CADDY_CPUS=1.0" "CADDY_MEMORY_LIMIT=256m" \
"CADDY_IMAGE_TAG=${CADDY_IMAGE_TAG}" "LIVEKIT_IMAGE_TAG=${LIVEKIT_IMAGE_TAG}" \
"CADDY_PROFILE=${CADDY_PROFILE}" "LIVEKIT_PUBLISH=${LIVEKIT_PUBLISH}" \
"GLCHAT_CADDY_PROFILE=${CADDY_PROFILE}" \
"LIVEKIT_API_KEY=${LIVEKIT_API_KEY}" "LIVEKIT_API_SECRET=${LIVEKIT_API_SECRET}" \
"HTTP_PORT=${HTTP_PORT}" "HTTPS_PORT=${HTTPS_PORT}"