# MeTube - Videoletöltő (yt-dlp webes felülete): videók és hanganyagok letöltése a meghajtódra # Domain: ${SUBDOMAIN}.${DOMAIN} # Database: none (its queue and history are files in the state volume) # RAM: ~150M idle, more while downloading (mem_limit: 768M) | Pi-compatible: Yes (amd64, arm64) # # MeTube has NO login of its own, by design. On Felhom it is published ONLY behind the family gate (`family_gate: true`, # controller >= 0.287.0, `09` §3 decisions 63/64): a stranger reaches nothing, a family member signs in with their own # name and password. No exceptions — every path, the websocket included, passes the gate. # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # HDD_PATH - The drive the downloads go to # # Folders: the downloads in ${USERDATA_PATH}/media/metube (the household sees them in the file browser); the queue and # history in the named volume metube_state (NVMe). ALLOW_PRIVATE_ADDRESSES stays false (upstream default): MeTube will # not fetch from the household's own network. services: metube: image: ghcr.io/alexta69/metube:2026.09.29 container_name: metube restart: unless-stopped environment: - TZ=Europe/Budapest - PUID=1000 - PGID=1000 - DOWNLOAD_DIR=/downloads - STATE_DIR=/state - MAX_CONCURRENT_DOWNLOADS=2 - ALLOW_PRIVATE_ADDRESSES=false volumes: - ${USERDATA_PATH}/media/metube:/downloads - metube_state:/state networks: - traefik-public deploy: resources: limits: memory: 768M healthcheck: test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8081/"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.metube.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.metube.entrypoints=websecure" - "traefik.http.routers.metube.tls=true" - "traefik.http.routers.metube.tls.certresolver=letsencrypt" - "traefik.http.services.metube.loadbalancer.server.port=8081" volumes: metube_state: networks: traefik-public: external: true