onasty/docker-compose.yml(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
services:
runtime:
image: onasty:runtime
build:
context: .
dockerfile: runtime.dockerfile
core:
image: onasty:core
container_name: onasty-core
build:
context: .
dockerfile: Dockerfile
env_file: .env
ports:
- 8000:8000
- 8001:8001
depends_on:
- runtime
- mailer
- postgres
- redis
- nats
mailer:
image: onasty:mailer
container_name: onasty-mailer
build:
context: .
dockerfile: ./mailer/Dockerfile
env_file: ./mailer/.env
depends_on:
- runtime
- nats
postgres:
image: postgres:16-alpine
container_name: onasty-postgres
environment:
POSTGRES_USER: onasty
POSTGRES_PASSWORD: qwerty
POSTGRES_DB: onasty
volumes:
- .docker/postgres:/var/lib/postgresql/data
ports:
- 5432:5432
nats:
image: nats:2.10
ports:
- 4222:4222
redis:
image: redis:7.4-alpine
container_name: onasty-redis
ports:
- 6379:6379
prometheus:
image: prom/prometheus
container_name: onasty-prometheus
user: root
volumes:
- ./.docker/prometheus:/prometheus
- ./infra/prometheus:/etc/prometheus
ports:
- 9090:9090
grafana:
image: grafana/grafana:11.1.6
container_name: onasty-grafana
user: root
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- ./.docker/grafana:/var/lib/grafana
- ./infra/grafana/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml
ports:
- 3069:3000
loki:
image: grafana/loki:3.2.0
command: ["--pattern-ingester.enabled=true", "-config.file=/etc/loki/config.yaml"]
ports:
- 3100:3100
volumes:
- ./infra/loki/config.yaml:/etc/loki/config.yaml
promtail:
image: grafana/promtail:3.0.0
command: -config.file=/etc/promtail/config.yaml
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./infra/promtail/config.yaml:/etc/promtail/config.yaml
|