2026-06-10 19:29:51 -04:00
|
|
|
name: buzz
|
2026-04-08 11:39:51 +10:00
|
|
|
|
2026-03-09 15:15:25 -04:00
|
|
|
services:
|
2026-03-20 03:35:22 +11:00
|
|
|
postgres:
|
2026-06-23 18:32:38 -04:00
|
|
|
image: postgres:17-alpine
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-postgres
|
2026-03-09 15:15:25 -04:00
|
|
|
environment:
|
2026-06-10 19:29:51 -04:00
|
|
|
POSTGRES_USER: buzz
|
|
|
|
|
POSTGRES_PASSWORD: buzz_dev
|
|
|
|
|
POSTGRES_DB: buzz
|
2026-05-21 17:57:03 -04:00
|
|
|
PGDATA: /var/lib/postgresql/data
|
2026-03-09 15:15:25 -04:00
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:5432:5432"
|
2026-03-09 15:15:25 -04:00
|
|
|
volumes:
|
2026-03-20 03:35:22 +11:00
|
|
|
- postgres-data:/var/lib/postgresql/data
|
2026-03-09 15:15:25 -04:00
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-09 15:15:25 -04:00
|
|
|
healthcheck:
|
2026-06-10 19:29:51 -04:00
|
|
|
test: ["CMD-SHELL", "pg_isready -U buzz"]
|
2026-03-09 15:15:25 -04:00
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 10
|
|
|
|
|
start_period: 10s
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 512m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "postgres"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-09 15:15:25 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
redis:
|
2026-06-23 18:32:38 -04:00
|
|
|
image: redis:7-alpine
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-redis
|
2026-03-09 15:15:25 -04:00
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:6379:6379"
|
2026-03-09 15:15:25 -04:00
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-09 15:15:25 -04:00
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 3s
|
|
|
|
|
retries: 10
|
|
|
|
|
start_period: 5s
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 128m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "redis"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-09 15:15:25 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
adminer:
|
|
|
|
|
image: adminer:latest
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-adminer
|
2026-03-09 15:15:25 -04:00
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:8082:8080"
|
2026-03-09 15:15:25 -04:00
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-09 15:15:25 -04:00
|
|
|
depends_on:
|
2026-03-20 03:35:22 +11:00
|
|
|
postgres:
|
2026-03-09 15:15:25 -04:00
|
|
|
condition: service_healthy
|
|
|
|
|
environment:
|
2026-03-20 03:35:22 +11:00
|
|
|
ADMINER_DEFAULT_SERVER: postgres
|
2026-03-09 15:15:25 -04:00
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 64m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "adminer"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-09 15:15:25 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
keycloak:
|
|
|
|
|
image: quay.io/keycloak/keycloak:26.0
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-keycloak
|
2026-03-09 15:15:25 -04:00
|
|
|
command: start-dev --http-port=8080
|
|
|
|
|
environment:
|
|
|
|
|
KC_DB: dev-mem
|
|
|
|
|
KEYCLOAK_ADMIN: admin
|
|
|
|
|
KEYCLOAK_ADMIN_PASSWORD: admin
|
|
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:8180:8080"
|
2026-03-09 15:15:25 -04:00
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-09 15:15:25 -04:00
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD-SHELL", "exec 3<>/dev/tcp/localhost/8080 && echo -e 'GET /health/ready HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3 && cat <&3 | grep -q '200 OK'"]
|
|
|
|
|
interval: 10s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 15
|
|
|
|
|
start_period: 30s
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 512m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "keycloak"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-09 15:15:25 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
2026-03-15 15:17:10 -04:00
|
|
|
minio:
|
|
|
|
|
image: minio/minio:latest
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-minio
|
2026-03-15 15:17:10 -04:00
|
|
|
command: server /data --console-address ":9001"
|
|
|
|
|
environment:
|
2026-06-10 19:29:51 -04:00
|
|
|
MINIO_ROOT_USER: buzz_dev
|
|
|
|
|
MINIO_ROOT_PASSWORD: buzz_dev_secret
|
2026-03-15 15:17:10 -04:00
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:9000:9000"
|
|
|
|
|
- "127.0.0.1:9001:9001"
|
2026-03-15 15:17:10 -04:00
|
|
|
volumes:
|
|
|
|
|
- minio-data:/data
|
|
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-15 15:17:10 -04:00
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 10
|
|
|
|
|
start_period: 10s
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 256m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "minio"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-15 15:17:10 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
minio-init:
|
|
|
|
|
image: minio/mc:latest
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-minio-init
|
2026-03-15 15:17:10 -04:00
|
|
|
depends_on:
|
|
|
|
|
minio:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-15 15:17:10 -04:00
|
|
|
entrypoint: >
|
|
|
|
|
/bin/sh -c "
|
2026-06-10 19:29:51 -04:00
|
|
|
mc alias set local http://minio:9000 buzz_dev buzz_dev_secret &&
|
|
|
|
|
mc mb --ignore-existing local/buzz-media &&
|
|
|
|
|
mc anonymous set none local/buzz-media
|
2026-03-15 15:17:10 -04:00
|
|
|
"
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "minio-init"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-15 15:17:10 -04:00
|
|
|
restart: "no"
|
|
|
|
|
|
2026-03-17 19:00:44 -04:00
|
|
|
prometheus:
|
|
|
|
|
image: prom/prometheus:latest
|
2026-06-10 19:29:51 -04:00
|
|
|
container_name: buzz-prometheus
|
2026-03-17 19:00:44 -04:00
|
|
|
ports:
|
2026-08-08 01:09:44 +02:00
|
|
|
- "127.0.0.1:9090:9090"
|
2026-03-17 19:00:44 -04:00
|
|
|
volumes:
|
|
|
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
|
|
|
- prometheus-data:/prometheus
|
|
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
- buzz-net
|
2026-03-17 19:00:44 -04:00
|
|
|
extra_hosts:
|
|
|
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
memory: 128m
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.service: "prometheus"
|
|
|
|
|
com.buzz.env: "dev"
|
2026-03-17 19:00:44 -04:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
2026-03-09 15:15:25 -04:00
|
|
|
volumes:
|
2026-03-20 03:35:22 +11:00
|
|
|
postgres-data:
|
2026-06-10 19:29:51 -04:00
|
|
|
name: buzz-postgres-data
|
2026-03-09 15:15:25 -04:00
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.volume: "postgres"
|
2026-03-15 15:17:10 -04:00
|
|
|
minio-data:
|
2026-06-10 19:29:51 -04:00
|
|
|
name: buzz-minio-data
|
2026-03-15 15:17:10 -04:00
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.volume: "minio"
|
2026-03-17 19:00:44 -04:00
|
|
|
prometheus-data:
|
2026-06-10 19:29:51 -04:00
|
|
|
name: buzz-prometheus-data
|
2026-03-17 19:00:44 -04:00
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.volume: "prometheus"
|
2026-03-09 15:15:25 -04:00
|
|
|
|
|
|
|
|
networks:
|
2026-06-10 19:29:51 -04:00
|
|
|
buzz-net:
|
|
|
|
|
name: buzz-net
|
2026-03-09 15:15:25 -04:00
|
|
|
driver: bridge
|
|
|
|
|
labels:
|
2026-06-10 19:29:51 -04:00
|
|
|
com.buzz.network: "dev"
|