# MadBase - Server 1: Control & Monitoring services: system: image: git.madapes.com/madbase/control:latest container_name: madbase_system restart: unless-stopped ports: - "8001:8001" env_file: .env environment: - DATABASE_URL=postgres://admin:${CONTROL_DB_PASSWORD}@${SERVER2_IP}:5433/madbase_control - DEFAULT_TENANT_DB_URL=postgres://postgres:${POSTGRES_PASSWORD}@${SERVER2_IP}:5433/postgres - ALLOWED_ORIGINS=${ALLOWED_ORIGINS} - LOKI_URL=http://localhost:3100 networks: - madbase_net logging: driver: "json-file" options: max-size: "10m" max-file: "3" proxy: image: git.madapes.com/madbase/proxy:latest container_name: madbase_proxy restart: unless-stopped ports: - "80:8000" - "443:8000" env_file: .env environment: - CONTROL_UPSTREAM_URL=http://system:8001 - WORKER_UPSTREAM_URLS=http://${SERVER2_IP}:8002,http://${SERVER3_IP}:8002,http://${SERVER4_IP}:8002 - CONTROL_DB_URL=postgres://admin:${CONTROL_DB_PASSWORD}@${SERVER2_IP}:5433/madbase_control depends_on: - system networks: - madbase_net logging: driver: "json-file" options: max-size: "10m" max-file: "3" victoriametrics: image: victoriametrics/victoria-metrics:v1.101.0 container_name: madbase_vm ports: - "8428:8428" volumes: - madbase_vm_data:/victoria-metrics-data - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - "--storageDataPath=/victoria-metrics-data" - "--httpListenAddr=:8428" - "--promscrape.config=/etc/prometheus/prometheus.yml" networks: - madbase_net logging: driver: "json-file" options: max-size: "10m" max-file: "3" loki: image: grafana/loki:2.9.6 container_name: madbase_loki ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml volumes: - madbase_loki_data:/loki networks: - madbase_net logging: driver: "json-file" options: max-size: "10m" max-file: "3" grafana: image: grafana/grafana:10.4.2 container_name: madbase_grafana ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin} volumes: - madbase_grafana_data:/var/lib/grafana depends_on: - victoriametrics - loki networks: - madbase_net volumes: madbase_vm_data: madbase_loki_data: madbase_grafana_data: networks: madbase_net: name: madbase_net external: true