1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File: docker-compose.yaml
# Project: metube
# Startdate: 2023-01-23
version: "3"
services:
metube:
image: alexta69/metube:latest
container_name: metube
restart: unless-stopped
ports:
- "8081:8081"
volumes:
- /mnt/public/Video/Downloads:/downloads
- /home/metube/.cache:/.cache
environment:
# Most of this was suggested by readme. I added restrictfilenames to use only ascii and no spaces
YTDL_OPTIONS: '{"writesubtitles": true, "subtitleslangs": ["en", "-live_chat"], "postprocessors": [{"key": "Exec", "exec_cmd": "chmod 0664", "when": "after_move"}, {"key": "FFmpegEmbedSubtitle", "already_have_subtitle": false}, {"key": "FFmpegMetadata", "add_chapters": true}], "restrictfilenames": true,"format_sort":["vcodec:h264","vcodec:av01","vcodec:vp9.2","vcodec:vp9","vcodec:h265","vcodec:vp8","vcodec:h263","vcodec:theora","vcodec:other"]}'
# personal preference; I like to include id, which also helps jellyfin
OUTPUT_TEMPLATE: "%(title)s.%(id)s.%(ext)s"
# prefix for reverse proxy in httpd metube.cnf
URL_PREFIX: "/metube"
# user and group public
UID: 960600006
GID: 960600005
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest
restart: always
ports:
- 8082:8080
command: --interval 86400 metube
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_LABEL_ENABLE=true
- WATCHTOWER_INCLUDE_RESTARTING=true
|