Портал технической службы: наряды и чек-листы, задачи, отказы и неисправности, анализ надёжности, карты, склады, приложение для Android
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Развёртывание в Coolify (build pack «Docker Compose») или вручную: docker compose up -d --build
|
||||
# Переменные задаются в интерфейсе Coolify (или в .env): DB_PASSWORD, SECRET_KEY, ADMIN_PASSWORD, при желании APP_TZ, APP_PORT; FORWARDED_ALLOW_IPS — IP вашего NPM.
|
||||
services:
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: checklists
|
||||
POSTGRES_USER: checklists
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U checklists -d checklists"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
|
||||
app:
|
||||
build: .
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
DATABASE_URL: postgresql+psycopg://checklists:${DB_PASSWORD}@db:5432/checklists
|
||||
SECRET_KEY: ${SECRET_KEY}
|
||||
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
|
||||
APP_TZ: ${APP_TZ:-Europe/Moscow}
|
||||
APP_ENV: production # слабый SECRET_KEY/ADMIN_PASSWORD -> отказ запуска
|
||||
FORWARDED_ALLOW_IPS: ${FORWARDED_ALLOW_IPS:-127.0.0.1} # адрес NPM (доверенный прокси)
|
||||
PHOTO_DIR: /data/photos # каталог фото можно сменить в админке (он должен лежать на томе)
|
||||
volumes:
|
||||
- photos:/data/photos # фотографии нарядов
|
||||
- appdata:/srv/data # демо-режим и файл APK (appdata/apk/*.apk раздаётся по /app.apk)
|
||||
ports:
|
||||
- "${APP_PORT:-8080}:8000" # на этот порт хоста смотрит прокси (NPM)
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/health', timeout=3)"]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 25s
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
photos:
|
||||
appdata:
|
||||
Reference in New Issue
Block a user