services: runtime: image: onasty:runtime build: context: . dockerfile: runtime.Dockerfile depends_on: - builder builder: image: onasty:builder build: context: . dockerfile: builder.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 seed: image: onasty:seed build: context: . dockerfile: seed.Dockerfile entrypoint: ["/seed"] env_file: .env profiles: [manual] depends_on: - postgres 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 - ./infra/grafana/dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yml - ./infra/grafana/dashboards:/etc/grafana/provisioning/dashboards 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