69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
services:
|
|
backend:
|
|
image: backend
|
|
build:
|
|
context: .
|
|
dockerfile: ./Dockerfile.backend
|
|
environment:
|
|
- "Database:Url=Host=postgres;Database=postgres;Username=postgres;Password=postgres"
|
|
- "Database:EnablePooling=true"
|
|
- "Host=0.0.0.0"
|
|
- "Port=5000"
|
|
- "Logging:MetricsPort=5001"
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5006:5000"
|
|
- "5007:5001"
|
|
volumes:
|
|
- ./docker/config.ini:/app/config.ini
|
|
- ./docker/static-pages:/app/static-pages
|
|
|
|
frontend:
|
|
image: frontend
|
|
build:
|
|
context: ./
|
|
dockerfile: ./Foxnouns.Frontend/Dockerfile
|
|
restart: unless-stopped
|
|
env_file: ./docker/frontend.env
|
|
environment:
|
|
- "PRIVATE_API_HOST=http://rate:5003/api"
|
|
- "PRIVATE_INTERNAL_API_HOST=http://backend:5000/api"
|
|
|
|
rate:
|
|
image: rate
|
|
build: ./rate
|
|
environment:
|
|
- "PORT=5003"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./docker/proxy-config.json:/app/proxy-config.json
|
|
|
|
postgres:
|
|
image: docker.io/postgres:16
|
|
command: [ "postgres",
|
|
"-c", "max-connections=1000",
|
|
"-c", "timezone=Etc/UTC",
|
|
"-c", "max_wal_size=1GB",
|
|
"-c", "min_wal_size=80MB",
|
|
"-c", "shared_buffers=128MB" ]
|
|
environment:
|
|
- "POSTGRES_PASSWORD=postgres"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
caddy:
|
|
image: docker.io/caddy:2
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5004:80"
|
|
- "5005:81"
|
|
volumes:
|
|
- ./docker/Caddyfile:/etc/caddy/Caddyfile
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|
|
postgres_data:
|