version: '3.8' services: api: container_name: api image: technokaif/fluire_api:$TAG depends_on: - auth - user - search ports: - "4444:4444" env_file: - .env volumes: - .env:/out/.env - type: bind source: ${MEDIA_PATH} target: ${MEDIA_PATH} restart: always auth: container_name: auth image: technokaif/fluire_auth:$TAG depends_on: - db volumes: - .env:/out/.env restart: always search: container_name: search image: technokaif/fluire_search:$TAG depends_on: - db volumes: - .env:/out/.env restart: always user: container_name: user image: technokaif/fluire_user:$TAG depends_on: - db volumes: - .env:/out/.env - type: bind source: ${MEDIA_PATH} target: ${MEDIA_PATH} restart: always prometheus: container_name: prometheus image: prom/prometheus:latest volumes: - ./metrics/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml ports: - "9090:9090" nodeexporter: container_name: node_exporter image: prom/node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro restart: unless-stopped ports: - "9100:9100" grafana: container_name: grafana image: grafana/grafana-oss:9.4.3 ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana db: container_name: db image: postgres:14 # build: # context: . # dockerfile: Dockerfile.postgres restart: always env_file: - .env environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} PGDATA: "/var/lib/postgresql/data/pgdata" ports: - 5436:5432 volumes: - ./cmd/internal/db/postgresql/schema/:/docker-entrypoint-initdb.d # isn't used if pgdata exists - ${DB_PATH}:/var/lib/postgresql/data command: ["postgres"] # "-c", "logging_collector=on", "-c", "log_statement=all"] volumes: grafana-data: {}