feat: production compose — serversideup image, loopback port 8091, scheduler and worker off the app image
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
This commit is contained in:
54
docker-compose.prod.yml
Normal file
54
docker-compose.prod.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
# Прод на ishiki: hado живёт рядом с прокси sekai, порт только на loopback —
|
||||
# Caddy (network_mode: host) ходит в 127.0.0.1:8091, наружу порт закрыт (см. deploy/Caddyfile.snippet).
|
||||
# Один env на всё: core/.env — его читают и контейнеры (env_file), и сам compose (--env-file) для postgres.
|
||||
# Запуск: docker compose --env-file core/.env -f docker-compose.prod.yml up -d --build
|
||||
services:
|
||||
app:
|
||||
build: ./core
|
||||
image: hado-app
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8091:8080"
|
||||
env_file: ./core/.env
|
||||
environment:
|
||||
# serversideup: миграции и кеши при старте — только здесь, чтобы не гонять их из трёх контейнеров
|
||||
AUTORUN_ENABLED: "true"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
scheduler:
|
||||
image: hado-app
|
||||
restart: unless-stopped
|
||||
command: ["php", "/var/www/html/artisan", "schedule:work"]
|
||||
env_file: ./core/.env
|
||||
depends_on:
|
||||
app:
|
||||
condition: service_healthy
|
||||
|
||||
worker:
|
||||
image: hado-app
|
||||
restart: unless-stopped
|
||||
command: ["php", "/var/www/html/artisan", "queue:work", "--tries=3", "--sleep=1"]
|
||||
env_file: ./core/.env
|
||||
depends_on:
|
||||
app:
|
||||
condition: service_healthy
|
||||
|
||||
postgres:
|
||||
image: postgres:17
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: ${DB_DATABASE:-hado}
|
||||
POSTGRES_USER: ${DB_USERNAME:-hado}
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD:?set DB_PASSWORD in .env next to this file}
|
||||
volumes:
|
||||
- pg_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME:-hado} -d ${DB_DATABASE:-hado}"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
|
||||
volumes:
|
||||
pg_data:
|
||||
Reference in New Issue
Block a user