media-stack/tandoor/docker-compose.yml
2024-04-15 00:25:23 -04:00

70 lines
2.1 KiB
YAML

services:
tandoor:
image: vabene1111/recipes:latest
container_name: tandoor
restart: always
env_file:
- ${CONFIG_ROOT:-.}/tandoor/.env
volumes:
- ${CONFIG_ROOT:-.}/tandoor/database:/opt/recipes/database
- ${CONFIG_ROOT:-.}/tandoor/mediafiles:/opt/recipes/mediafiles
- tandoor-staticfiles:/opt/recipes/staticfiles
healthcheck:
test: ["CMD", "wget", "http://127.0.0.1:8080/recipes", "-qO", "/dev/null"]
interval: 30s
retries: 10
profiles:
- tandoor
tandoor-nginx:
image: nginx:mainline-alpine
container_name: tandoor-nginx
restart: always
env_file:
- ${CONFIG_ROOT:-.}/tandoor/.env
volumes:
- ${CONFIG_ROOT:-.}/tandoor/nginx:/etc/nginx/conf.d:ro
- ${CONFIG_ROOT:-.}/tandoor/mediafiles:/media:ro
- tandoor-staticfiles:/static:ro
healthcheck:
test: ["CMD", "wget", "http://127.0.0.1/recipes", "-qO", "/dev/null"]
interval: 30s
retries: 10
depends_on:
- tandoor
labels:
- traefik.enable=true
- traefik.http.routers.tandoor.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/recipes`))
- traefik.http.routers.tandoor.tls=true
- traefik.http.routers.tandoor.tls.certresolver=myresolver
- traefik.http.services.tandoor.loadbalancer.server.port=80
- homepage.group=Apps
- homepage.name=Tandoor
- homepage.icon=tandoor.png
- homepage.href=/recipes
- homepage.description=Smart recipe management
- homepage.weight=1
profiles:
- tandoor
tandoor-backup:
image: adrienpoupa/rclone-backup:latest
container_name: tandoor-backup
restart: always
env_file:
- ${CONFIG_ROOT:-.}/tandoor/backup.env
environment:
- BACKUP_FOLDER_NAME=mediafiles
- BACKUP_FOLDER_PATH=/data/mediafiles
- DB_TYPE=sqlite
- SQLITE_DATABASE=/database/recipes.db
volumes:
- ${CONFIG_ROOT:-.}/tandoor/database:/database
- ${CONFIG_ROOT:-.}/tandoor/mediafiles:/data/mediafiles
- ${CONFIG_ROOT:-.}/tandoor/backup:/config
profiles:
- tandoor
volumes:
tandoor-staticfiles: