Add minimal Docker Compose file and update Makefile.

Introduce `docker-compose-minimal.yml` for lightweight deployments with essential services. Update Makefile to handle version replacement in the new file. This enhances flexibility for different deployment scenarios.
This commit is contained in:
mhdzumair
2025-01-24 23:48:05 +05:30
parent 4c67fe92b4
commit e8d60cfc51
2 changed files with 83 additions and 0 deletions
+1
View File
@@ -53,6 +53,7 @@ endif
@sed -i -e "/<addon\s*id=\"repository\.mediafusion\"/s/version=\"[^\"]*\"/version=\"$(VERSION_NEW)\"/" kodi/repository.mediafusion/addon.xml
# Update docker-compose.yml
@sed -i 's|image: $(DOCKER_REPO)/$(IMAGE_NAME):[0-9.]*|image: $(DOCKER_REPO)/$(IMAGE_NAME):$(VERSION_NEW)|g' deployment/docker-compose/docker-compose.yml
@sed -i 's|image: $(DOCKER_REPO)/$(IMAGE_NAME):[0-9.]*|image: $(DOCKER_REPO)/$(IMAGE_NAME):$(VERSION_NEW)|g' deployment/docker-compose/docker-compose-minimal.yml
# Update k8s deployment
@sed -i 's|image: $(DOCKER_REPO)/$(IMAGE_NAME):[0-9.]*|image: $(DOCKER_REPO)/$(IMAGE_NAME):$(VERSION_NEW)|g' deployment/k8s/local-deployment.yaml
@echo "Version updated to $(VERSION_NEW) in all files"
@@ -0,0 +1,82 @@
services:
mediafusion:
image: mhdzumair/mediafusion:4.3.14
ports:
- "8000:8000"
env_file: .env
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 1m
timeout: 10s
retries: 5
start_period: 10s
restart: unless-stopped
networks:
- mediafusion-network
nginx:
image: nginx:alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./mediafusion.local.pem:/etc/ssl/certs/mediafusion.local.pem:ro
- ./mediafusion.local-key.pem:/etc/ssl/private/mediafusion.local-key.pem:ro
ports:
- "443:443"
depends_on:
mediafusion:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: ["CMD", "nginx", "-t"]
interval: 30s
timeout: 10s
retries: 3
networks:
- mediafusion-network
mongodb:
image: mongo:latest
volumes:
- mongo-data:/data/db
ports:
- "27017:27017"
restart: unless-stopped
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
networks:
- mediafusion-network
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis-data:/data
command: redis-server --appendonly yes --save 60 1
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- mediafusion-network
volumes:
mongo-data:
driver: local
redis-data:
driver: local
networks:
mediafusion-network:
driver: bridge