perf(container): образ без apt-зависимостей и встроенный healthcheck
- рантайм не тянет ca-certificates/tzdata/curl: bundle сертификатов копируется из официального alpine-образа, healthcheck выполняет сам бинарник - cmd/glchat: подкоманда healthcheck (HTTP-запрос к /healthz с таймаутом) - compose: APP_VERSION передаётся в environment (версия видна в meta без пересборки) - бюджет §9.1: базовый слой debian-slim + 9.2 MB бинарник + 356 KB клиент
This commit is contained in:
@@ -12,6 +12,7 @@ x-app-env: &app-env
|
||||
DOMAIN: "${DOMAIN}"
|
||||
FILES_DOMAIN: "${FILES_DOMAIN}"
|
||||
INSTANCE_NAME: "${INSTANCE_NAME}"
|
||||
APP_VERSION: "${IMAGE_TAG}"
|
||||
LISTEN_ADDR: "0.0.0.0:8080"
|
||||
DATA_DIR: "/app/data"
|
||||
WEB_ROOT: "/app/web"
|
||||
@@ -46,7 +47,7 @@ services:
|
||||
cpus: "${APP_CPUS}"
|
||||
memory: ${APP_MEMORY_LIMIT}
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8080/healthz"]
|
||||
test: ["CMD", "/usr/local/bin/glchat", "healthcheck"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
start_period: 20s
|
||||
|
||||
Reference in New Issue
Block a user