Files
docker-compose-template/apps/debridav/compose.yaml
T

111 lines
3.4 KiB
YAML

services:
debridav:
image: ghcr.io/skjaere/debridav:v0
container_name: debridav
restart: unless-stopped
user: "${PUID}:${PGID}"
security_opt:
- "apparmor:unconfined"
env_file:
- .env
environment:
- PUID=${PUID}
- PGID=${PGID}
- UMASK=002
- TZ=${TZ}
- DEBRIDAV_ROOTPATH=${DEBRIDAV_ROOT_PATH}
- DEBRIDAV_DOWNLOADPATH=${DEBRIDAV_DOWNLOAD_PATH}
- DEBRIDAV_MOUNTPATH=${DEBRIDAV_MOUNT_PATH_CONTAINERS}
- DEBRIDAV_DEBRIDCLIENTS=${DEBRIDAV_DEBRID_CLIENTS}
- SPRING_DATASOURCE_URL=jdbc:postgresql://${DEBRIDAV_DB_HOST}:${DEBRIDAV_DB_PORT}/${DEBRIDAV_DB_DATABASE_NAME}?user=${DEBRIDAV_DB_USERNAME}&password=${DEBRIDAV_DB_PASSWORD}
- PREMIUMIZE_APIKEY=${PREMIUMIZE_API_KEY}
- REALDEBRID_APIKEY=${REALDEBRID_API_KEY}
- SONARR_INTEGRATIONENABLED=${SONARR_INTEGRATION_ENABLED}
- SONARR_HOST=${SONARR_HOST}
- SONARR_PORT=${SONARR_PORT}
- SONARR_APIKEY=${SONARR_API_KEY}
- RADARR_INTEGRATIONENABLED=${RADARR_INTEGRATION_ENABLED}
- RADARR_HOST=${RADARR_HOST}
- RADARR_PORT=${RADARR_PORT}
- RADARR_APIKEY=${RADARR_API_KEY}
- EASYNEWS_USERNAME=${EASYNEWS_USERNAME}
- EASYNEWS_PASSWORD=${EASYNEWS_PASSWORD}
- TORBOX_APIKEY=${TORBOX_API_KEY}
volumes:
- ${DEBRIDAV_ROOT_HOST_FS}:${DEBRIDAV_ROOT_PATH}
expose:
- 8080
labels:
- "traefik.enable=true"
- "traefik.http.routers.debridav.rule=Host(`${DEBRIDAV_HOSTNAME?}`)"
- "traefik.http.routers.debridav.entrypoints=websecure"
- "traefik.http.routers.debridav.tls.certresolver=letsencrypt"
- "traefik.http.routers.debridav.middlewares=authelia@docker"
- "traefik.http.services.debridav.loadbalancer.server.port=8080"
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8080/actuator/health/readiness" ]
interval: 2s
start_period: 2s
retries: 1000
depends_on:
debridav_postgres:
condition: service_healthy
profiles:
- debridav
- all
rclone:
image: rclone/rclone:latest
container_name: rclone
restart: unless-stopped
environment:
- TZ=${TZ}
- PUID=${PUID}
- PGID=${PGID}
volumes:
- ${DEBRIDAV_MOUNT_PATH_HOST_FS}:${DEBRIDAV_MOUNT_PATH_CONTAINERS}:rshared
- /opt/docker/data/debridav/rclone.conf:/config/rclone/rclone.conf
- /dev/fuse:/dev/fuse
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
devices:
- /dev/fuse:/dev/fuse:rwm
depends_on:
debridav:
condition: service_healthy
command: >
mount debridav: ${DEBRIDAV_MOUNT_PATH_CONTAINERS}
--allow-other
--allow-non-empty
--vfs-cache-mode off
--rc-enable-metrics
--metrics-addr :9002
--low-level-retries=1
--dir-cache-time=1s
-vv
profiles:
- debridav
- all
debridav_postgres:
image: postgres:latest
container_name: debridav_postgres
restart: unless-stopped
environment:
- POSTGRES_USER=debridav
- POSTGRES_PASSWORD=debridav
- POSTGRES_DB=debridav
- PGUSER=debridav
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- ${DOCKER_DATA_DIR}/debridav/postgres:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d debridav" ]
interval: 5s
retries: 10
profiles:
- debridav
- all