Portfolio/docker/portfolio/docker-compose.yml
2023-02-21 16:46:49 +01:00

84 lines
2.6 KiB
YAML

version: '3.8'
services:
postgres:
container_name: postgres
image: "postgres:15"
command: postgres -c 'max_connections=1250'
environment:
POSTGRES_USER: REDACTED
POSTGRES_PASSWORD: REDACTED
POSTGRES_DB: postgres
volumes:
- ./data-postgres:/var/lib/postgresql/data
networks:
- db
adminer:
image: adminer:latest
container_name: adminer
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_proxy"
- "traefik.http.routers.adminer.entrypoints=web"
- "traefik.http.routers.adminer.rule=Host(`portfolio.ssps.cz`) && PathPrefix(`/adminer/`)"
- "traefik.http.routers.adminer.middlewares=adminer-stripprefix,adminer-auth"
- "traefik.http.middlewares.adminer-stripprefix.stripprefix.prefixes=/adminer"
# REDACTED
- "traefik.http.middlewares.adminer-auth.basicauth.users=REDACTED:REDACTED"
environment:
ADMINER_DEFAULT_SERVER: postgres
depends_on:
- postgres
networks:
- traefik_proxy
- db
backend:
image: "ghcr.io/eetagent/portfolio_backend:latest"
container_name: backend
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_proxy"
- "traefik.http.routers.backend.entrypoints=web"
- "traefik.http.routers.backend.rule=Host(`portfolio.ssps.cz`) && PathPrefix(`/api`)"
- "traefik.http.routers.backend.middlewares=backend-stripprefix"
- "traefik.http.middlewares.backend-stripprefix.stripprefix.prefixes=/api"
- "traefik.http.services.backend.loadbalancer.server.port=8000"
environment:
ROCKET_ADDRESS: "0.0.0.0"
ROCKET_PORT: "8000"
ROCKET_SECRET_KEY: "REDACTED"
PORTFOLIO_DATABASE_URL: "postgres://REDACTED:REDACTED@postgres:5432/postgres"
DATABASE_URL: "postgres://REDACTED:REDACTED@postgres:5432/postgres"
volumes:
- ./data-backend:/portfolio
depends_on:
- postgres
networks:
- traefik_proxy
- db
- app
frontend:
image: "ghcr.io/eetagent/portfolio_frontend:latest"
container_name: frontend
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_proxy"
- "traefik.http.routers.frontend.entrypoints=web"
- "traefik.http.routers.frontend.rule=Host(`portfolio.ssps.cz`)"
- "traefik.http.services.frontend.loadbalancer.server.port=3000"
environment:
PORTFOLIO_API_HOST: "backend:8000"
depends_on:
- backend
networks:
- traefik_proxy
- app
networks:
traefik_proxy:
name: traefik_proxy
external: true
db:
app: