services: gluetun: image: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN env_file: - .env restart: always networks: - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.tidal.entrypoints=http - traefik.http.routers.tidal.rule=Host(`tidal.dongho.kim`) - traefik.http.middlewares.tidal-redirect.redirectscheme.permanent=true - traefik.http.middlewares.tidal-redirect.redirectscheme.scheme=https - traefik.http.routers.tidal.middlewares=tidal-redirect - traefik.http.middlewares.tidal-auth.basicauth.users=${TRAEFIK_AUTH} - traefik.http.routers.tidal-secure.entrypoints=https - traefik.http.routers.tidal-secure.rule=Host(`tidal.dongho.kim`) - traefik.http.routers.tidal-secure.tls=true - traefik.http.routers.tidal-secure.tls.certresolver=cloudflare - traefik.http.routers.tidal-secure.middlewares=tidal-auth - traefik.http.services.tidal-secure-service.loadbalancer.server.port=8080 web: build: . container_name: tidal-dl-web network_mode: "service:gluetun" volumes: - ./downloads:/app/downloads - ./config:/app/config - /mnt/big/media/music:/app/music # Mount source for development - ./app:/app/app command: uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload environment: - PYTHONUNBUFFERED=1 - DOWNLOAD_PATH=/app/downloads - XDG_CONFIG_HOME=/app/config - ALBUM_DESTINATION_PATH=${ALBUM_DESTINATION_PATH:-} - NOTIFICATION_URL=${NOTIFICATION_URL:-} restart: unless-stopped depends_on: gluetun: condition: service_healthy networks: proxy: external: true