first commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "127.0.0.1:${APP_PORT:-3000}:3000"
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- HOST=0.0.0.0
|
||||
- PORT=3000
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER:-incudal}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-incudal}
|
||||
- REDIS_URL=redis://:${REDIS_PASSWORD:-}@redis:6379
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
- COOKIE_SECRET=${COOKIE_SECRET:-}
|
||||
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
||||
- FRONTEND_URL=${FRONTEND_URL:-}
|
||||
- SITE_URL=${SITE_URL:-}
|
||||
- LOG_LEVEL=${LOG_LEVEL:-info}
|
||||
- DISABLE_REQUEST_LOG=${DISABLE_REQUEST_LOG:-true}
|
||||
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
- ALERT_WEBHOOK_URL=${ALERT_WEBHOOK_URL:-}
|
||||
- DB_POOL_MAX=${DB_POOL_MAX:-20}
|
||||
- DB_POOL_MIN=${DB_POOL_MIN:-5}
|
||||
- DB_CONNECTION_TIMEOUT=${DB_CONNECTION_TIMEOUT:-5000}
|
||||
- DB_IDLE_TIMEOUT=${DB_IDLE_TIMEOUT:-30000}
|
||||
- DB_STATEMENT_TIMEOUT=${DB_STATEMENT_TIMEOUT:-30000}
|
||||
- DB_QUERY_TIMEOUT=${DB_QUERY_TIMEOUT:-30000}
|
||||
- TRAFFIC_CONCURRENCY_PER_HOST=${TRAFFIC_CONCURRENCY_PER_HOST:-10}
|
||||
- TRAFFIC_HOST_CONCURRENCY=${TRAFFIC_HOST_CONCURRENCY:-3}
|
||||
- DB_WORKER_BACKOFF_MS=${DB_WORKER_BACKOFF_MS:-15000}
|
||||
volumes:
|
||||
- ./server/certs:/app/server/certs:ro
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_started
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER:-incudal}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-incudal}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-incudal}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
command: redis-server --requirepass ${REDIS_PASSWORD:-}
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
redis_data:
|
||||
|
||||
networks:
|
||||
default:
|
||||
driver: bridge
|
||||
enable_ipv6: true
|
||||
ipam:
|
||||
config:
|
||||
- subnet: "172.31.0.0/16"
|
||||
- subnet: "fd42:dead:beef:10::/64"
|
||||
Reference in New Issue
Block a user