Foxnouns.NET/docker-compose.yml

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: