Files
probo/compose.yaml
Bryan Frimin 55cf769f8a Fix docker images
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-07 18:01:37 +01:00

133 lines
3.7 KiB
YAML

services:
postgres:
image: "postgres:17.4"
shm_size: "1g"
command: >
postgres -c "shared_buffers=4GB"
-c "max_connections=200"
-c "log_statement=all"
ports:
- "5432:5432"
volumes:
- "./compose/postgres:/docker-entrypoint-initdb.d:ro"
- "postgres-data:/var/lib/postgresql/data:rw"
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "postgres"
minio:
image: "quay.io/minio/minio"
entrypoint: "sh"
command: |
-c 'mkdir -p /var/lib/minio/probod && minio server --json --console-address :9001 /var/lib/minio'
ports:
- "9000:9000"
- "9001:9001"
volumes:
- "minio-data:/var/lib/minio:rw"
environment:
MINIO_ROOT_USER: "probod"
MINIO_ROOT_PASSWORD: "thisisnotasecret"
grafana:
image: "grafana/grafana:latest"
ports:
- "3001:3000"
volumes:
- "./compose/grafana/provisioning:/etc/grafana/provisioning:ro"
- "grafana-data:/var/lib/grafana:rw"
environment:
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_USERS_DEFAULT_THEME: "light"
prometheus:
image: "prom/prometheus:latest"
volumes:
- "./compose/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml"
- "prometheus-data:/prometheus"
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/etc/prometheus/console_libraries"
- "--web.console.templates=/etc/prometheus/consoles"
- "--web.enable-lifecycle"
- "--web.enable-remote-write-receiver"
- "--web.listen-address=:9191"
ports:
- "9191:9191"
loki:
image: "grafana/loki:latest"
ports:
- "3100:3100"
command:
- "-config.file=/etc/loki/local-config.yaml"
tempo:
image: "grafana/tempo:latest"
command:
- "-config.file=/etc/tempo.yaml"
ports:
- "4317:4317"
volumes:
- "./compose/tempo/tempo.yaml:/etc/tempo.yaml:ro"
- "tempo-data:/var/tempo:rw"
mailpit:
image: "axllent/mailpit:latest"
ports:
- "1025:1025" # SMTP server
- "8025:8025" # Web UI
environment:
- "MP_DISABLE_VERSION_CHECK=true"
- "MP_VERBOSE=false"
- "MP_SMTP_AUTH_ACCEPT_ANY=true"
- "MP_ENABLE_PROMETHEUS=true"
- "MP_SMTP_AUTH_ALLOW_INSECURE=true"
chrome:
image: "chromedp/headless-shell:140.0.7259.2"
ports:
- "9222:9222"
command:
- "--headless"
- "--disable-gpu"
- "--disable-dev-shm-usage"
- "--hide-scrollbars"
- "--mute-audio"
- "--no-default-browser-check"
- "--no-first-run"
- "--disable-background-networking"
- "--disable-background-timer-throttling"
- "--disable-extensions"
pebble:
image: "ghcr.io/letsencrypt/pebble:latest"
ports:
- "14000:14000" # ACME server
- "15000:15000" # Management interface
environment:
PEBBLE_VA_NOSLEEP: "1" # Don't sleep during validation for faster testing
PEBBLE_WFE_NONCEREJECT: "0" # Don't reject reused nonces
PEBBLE_VA_ALWAYS_VALID: "1" # Skip actual HTTP/DNS validation for local dev
command: pebble -config /test/config/pebble-config.json -dnsserver 127.0.0.1:8053
volumes:
- "./compose/pebble:/test/config:ro"
pebble-challtestsrv:
image: "ghcr.io/letsencrypt/pebble-challtestsrv:latest"
ports:
- "8055:8055" # HTTP-01 challenge test server
- "8053:8053" # DNS server
- "8056:8056" # Management API
command: pebble-challtestsrv -dns01 ":8053" -http01 ":8055" -management ":8056"
volumes:
postgres-data:
minio-data:
grafana-data:
prometheus-data:
tempo-data: