84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
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
|