dockerize!
This commit is contained in:
83
docker-compose.yml
Normal file
83
docker-compose.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
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
|
||||
Reference in New Issue
Block a user