Files
OpenAssetManager/docker-compose.yml
T

89 lines
2.5 KiB
YAML

version: "3.7"
services:
caddy:
image: docker.io/caddy/caddy:2.9-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
fastapi:
container_name: "fastapi"
restart: unless-stopped
build:
context: ./api/asset_manager
dockerfile: ./Dockerfile
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 5m
timeout: 5s
retries: 3
start_period: 15s
links:
- "postgres"
pg-0:
image: docker.io/bitnami/postgresql-repmgr:14
ports:
- 5432
volumes:
- pg_0_data:/bitnami/postgresql
environment:
- POSTGRESQL_POSTGRES_PASSWORD=${POSTGRESQL_ADMIN_PASSWD:-password}
- POSTGRESQL_USERNAME=${POSTGRESQL_USERNAME:-user}
- POSTGRESQL_PASSWORD=${POSTGRESQL_PASSWORD:-passwd}
- POSTGRESQL_DATABASE=${POSTGRESQL_DATABASE:-customdatabase}
- REPMGR_PASSWORD=${REPMGR_PASSWORD:-repmgrpassword}
- REPMGR_PRIMARY_HOST=pg-0
- REPMGR_PARTNER_NODES=pg-0,pg-1
- REPMGR_NODE_NAME=pg-0
- REPMGR_NODE_NETWORK_NAME=pg-0
pg-1:
image: docker.io/bitnami/postgresql-repmgr:14
ports:
- 5432
volumes:
- pg_1_data:/bitnami/postgresql
environment:
- POSTGRESQL_POSTGRES_PASSWORD=${POSTGRESQL_ADMIN_PASSWD:-password}
- POSTGRESQL_USERNAME=${POSTGRESQL_USERNAME:-user}
- POSTGRESQL_PASSWORD=${POSTGRESQL_PASSWORD:-passwd}
- POSTGRESQL_DATABASE=${POSTGRESQL_DATABASE:-customdatabase}
- REPMGR_PASSWORD=${REPMGR_PASSWORD:-repmgrpassword}
- REPMGR_PRIMARY_HOST=pg-0
- REPMGR_PARTNER_NODES=pg-0,pg-1
- REPMGR_NODE_NAME=pg-1
- REPMGR_NODE_NETWORK_NAME=pg-1
pgpool:
image: docker.io/bitnami/pgpool:4
ports:
- 5432:5432
environment:
- PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432
- PGPOOL_SR_CHECK_USER=${POSTGRESQL_USERNAME:-user}
- PGPOOL_SR_CHECK_PASSWORD=${POSTGRESQL_PASSWORD:-passwd}
- PGPOOL_ENABLE_LDAP=no
- PGPOOL_POSTGRES_USERNAME=${PGPOOL_POSTGRES_USERNAME}
- PGPOOL_POSTGRES_PASSWORD=${PGPOOL_POSTGRES_PASSWORD:-password}
- PGPOOL_ADMIN_USERNAME=${PGPOOL_ADMIN_USERNAME:-admin}
- PGPOOL_ADMIN_PASSWORD=${REPMGR_PASSWORD:-adminpassword}
healthcheck:
test: ["CMD", "/opt/bitnami/scripts/pgpool/healthcheck.sh"]
interval: 10s
timeout: 5s
retries: 5
volumes:
caddy_data:
caddy_config: