55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
services:
|
|
db:
|
|
image: postgres:17-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-wg}
|
|
POSTGRES_USER: ${POSTGRES_USER:-wg}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 20
|
|
networks:
|
|
- wg
|
|
- dokploy-network
|
|
|
|
app:
|
|
build: .
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
# Dokploy/Traefik routes to this internal port — do NOT publish host ports.
|
|
expose:
|
|
- "4000"
|
|
environment:
|
|
APP_PORT: "4000"
|
|
APP_URL: ${APP_URL:-http://localhost:4000}
|
|
SITE_NAME: ${SITE_NAME:-Evilfox.cc}
|
|
DATABASE_URL: postgres://${POSTGRES_USER:-wg}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-wg}?sslmode=disable
|
|
SESSION_SECRET: ${SESSION_SECRET:?set SESSION_SECRET}
|
|
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
|
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@evilfox.cc}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set ADMIN_PASSWORD}
|
|
AUTO_IMPORT_MYSQL: ${AUTO_IMPORT_MYSQL:-true}
|
|
MYSQL_DUMP_PATH: /data/wg.sql
|
|
SECURE_COOKIES: ${SECURE_COOKIES:-true}
|
|
TZ: ${TZ:-UTC}
|
|
networks:
|
|
- wg
|
|
- dokploy-network
|
|
|
|
volumes:
|
|
pgdata:
|
|
|
|
networks:
|
|
wg:
|
|
driver: bridge
|
|
# Required so Traefik (Dokploy) can reach containers.
|
|
dokploy-network:
|
|
external: true
|