services: # MongoDB database service mongodb: image: mongo:7.0 container_name: ingress-mongodb restart: unless-stopped environment: MONGO_INITDB_ROOT_USERNAME: ingress_root MONGO_INITDB_ROOT_PASSWORD: Qu3enai5 MONGO_INITDB_DATABASE: ingress ports: - "27017" volumes: - mongodb_data:/data/db - mongodb_config:/data/configdb networks: - ingress-network healthcheck: test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 5s retries: 5 # Web application service web: image: mrosati84/ingress-web:1.0 container_name: ingress-web restart: unless-stopped environment: PYTHONUNBUFFERED: 1 PORT: 7000 MONGO_URI: mongodb://ingress_root:Qu3enai5@mongodb:27017/ DB_NAME: ingress COLLECTION_NAME: ingress TZ: "Europe/Rome" INGRESS_COOKIE: "csrftoken=6D4gJaFhxXDgYd3RcPNNHOs1VKMjuyIw34FYWmICB1cZyeK5tnvPwhP3gYkjbTa4; sessionid=.eJyrViotTi3yTFGyUkozNTQxT0tKNDE2SzY2SU1U0gHLueYmZuYApUstDI2MTSwtzY1NHNJBYnrJ-blANcWpxcWZ-XlhqUUgCqjQSKkWAGviGpE:1vfiwE:Yibl7yDDPVrD5jQo3OsfCEPGCH0; ingress.intelmap.zoom=10; ingress.intelmap.lat=45.953536660296486; ingress.intelmap.lng=12.827911376953125" V: "412c0ac7e784d6df783fc507bca30e23b3c58c55" ports: - "7000" depends_on: mongodb: condition: service_healthy networks: - ingress-network healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:7000/"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Schedule service schedule: image: mrosati84/ingress-schedule:1.0 container_name: ingress-schedule restart: unless-stopped environment: PYTHONUNBUFFERED: 1 ENDPOINT_URL: http://web:7000/plexts MONGO_URI: mongodb://root:root@mongodb:27017/ DB_NAME: ingress COLLECTION_NAME: ingress TZ: "Europe/Rome" depends_on: mongodb: condition: service_healthy web: condition: service_healthy networks: - ingress-network # Named volumes for data persistence volumes: mongodb_data: driver: local mongodb_config: driver: local # Custom network for all services networks: ingress-network: driver: bridge