Портал технической службы: наряды и чек-листы, задачи, отказы и неисправности, анализ надёжности, карты, склады, приложение для Android

This commit is contained in:
darkorion
2026-10-13 09:09:53 +03:00
commit 67e411eea8
246 changed files with 23152 additions and 0 deletions
+48
View File
@@ -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: