version: '3.3' services: frontend: image: lipopescu/wna:frontend_${TAG} expose: - 8081 ports: - 80:8081 networks: - fe-be mq_proxy: image: lipopescu/wna:mq_proxy_${TAG} expose: - 8080 ports: - 8080:8080 environment: - RMQ_ENDPOINT=amqp://rabbitmq networks: - rmq-network - monitoring - kong-internal prometheus: image: prom/prometheus:v2.20.1 container_name: prometheus volumes: - ./prometheus:/etc/prometheus - prometheus_data:/prometheus ports: - 9090:9090 expose: - 9090 networks: - monitoring grafana: image: grafana/grafana:7.1.5 container_name: grafana volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning:/etc/grafana/provisioning environment: - GF_AUTH_DISABLE_LOGIN_FORM=true - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_SERVER_ROOT_URL=http://localhost:8000/dashboard - DS_PROMETHEUS=prometheus ports: - 3000:3000 expose: - 3000 networks: - monitoring - kong-internal rabbitmq: image: rabbitmq:3.7.4 networks: - rmq-network db_server: image: lipopescu/wna:db_server_${TAG} expose: - "3001" ports: - "3001:3001" environment: - RMQ_ENDPOINT=amqp://rabbitmq networks: - rmq-network - db-network - kong-internal depends_on: - db mailsender: image: lipopescu/wna:mailsender_${TAG} expose: - "3434" ports: - "3434:3434" environment: - RMQ_ENDPOINT=amqp://rabbitmq networks: - rmq-network - db-network db: image: postgres container_name: db ports: - "5432:5432" volumes: - "./postgres/init_db.sql:/docker-entrypoint-initdb.d/init_db.sql" environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=wna networks: - db-network backend: image: kong:latest volumes: - ./kong:/usr/local/kong/declarative environment: KONG_DATABASE: 'off' KONG_DECLARATIVE_CONFIG: /usr/local/kong/declarative/config.yml KONG_PROXY_ACCESS_LOG: /dev/stdout KONG_ADMIN_ACCESS_LOG: /dev/stdout KONG_PROXY_ERROR_LOG: /dev/stderr KONG_ADMIN_ERROR_LOG: /dev/stderr KONG_ADMIN_LISTEN: 0.0.0.0:8001, 0.0.0.0:8444 ssl ports: - 8000:8000 - 8443:8443 networks: - kong-internal - fe-be networks: rmq-network: driver: bridge monitoring: driver: bridge db-network: driver: bridge kong-internal: driver: bridge fe-be: driver: bridge volumes: prometheus_data: {} grafana_data: {}