Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| services:tubearchivist [2025/04/17 12:39] – created - external edit 127.0.0.1 | services:tubearchivist [2025/06/11 14:58] (current) – [Installation] willy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Tube Sync ====== | + | ====== Tube Archivist |
| - | [[https://github.com/meeb/ | + | [[https://www.tubearchivist.com/|TubeArchivist]] is YouTube |
| - | + | ||
| - | It cannot be used to download | + | |
| ==== Installation ==== | ==== Installation ==== | ||
| - | TubeSync | + | TubeArchivist |
| Add the usual dedicated user: | Add the usual dedicated user: | ||
| <code bash> | <code bash> | ||
| - | useradd -d / | + | useradd -d / |
| </ | </ | ||
| Create the needed folders: | Create the needed folders: | ||
| <code bash> | <code bash> | ||
| - | mkdir / | ||
| mkdir / | mkdir / | ||
| - | chown tubesync:tubesync / | + | chown tubearchivist:media / |
| + | su - tubearchivist | ||
| + | mkdir cache es redis | ||
| </ | </ | ||
| - | Use the following | + | Download |
| <file - docker-compose.yml> | <file - docker-compose.yml> | ||
| + | version: ' | ||
| + | |||
| services: | services: | ||
| - | | + | |
| - | image: ghcr.io/ | + | container_name: |
| - | container_name: | + | |
| - | | + | |
| ports: | ports: | ||
| - | - 4848:4848 | + | - 8124:8000 |
| volumes: | volumes: | ||
| - | - /data/daemons/tubesync/ | + | - /data/Media/YouTube:/youtube |
| - | - /data/Media/YouTube:/downloads | + | - /data/daemons/tubearchivist/ |
| environment: | environment: | ||
| + | - ES_URL=http:// | ||
| + | - REDIS_CON=redis:// | ||
| + | - TA_HOST=https:// | ||
| + | - TA_USERNAME=initial_user | ||
| + | - TA_PASSWORD=<< | ||
| + | - TA_ENABLE_AUTH_PROXY=true | ||
| + | # Due to DJANGO bug, remove HTTP_ until they fix it: | ||
| + | - TA_AUTH_PROXY_USERNAME_HEADER=REMOTE_USER | ||
| + | #- TA_AUTH_PROXY_USERNAME_HEADER=HTTP_REMOTE_USER | ||
| + | - TA_AUTH_PROXY_LOGOUT_URL=https:// | ||
| + | - ELASTIC_PASSWORD=<< | ||
| - TZ=Europe/ | - TZ=Europe/ | ||
| - | - PUID=0 | + | |
| - | - PGID=0 | + | #- DJANGO_DEBUG=True |
| - | - DJANGO_URL_PREFIX=/tubesync/ | + | depends_on: |
| + | - archivist-es | ||
| + | - archivist-redis | ||
| + | networks: | ||
| + | - tubearchivist-net | ||
| + | |||
| + | archivist-redis: | ||
| + | image: redis | ||
| + | container_name: | ||
| + | restart: unless-stopped | ||
| + | expose: | ||
| + | - " | ||
| + | volumes: | ||
| + | - / | ||
| + | depends_on: | ||
| + | - archivist-es | ||
| + | networks: | ||
| + | - tubearchivist-net | ||
| + | |||
| + | archivist-es: | ||
| + | image: bbilly1/ | ||
| + | container_name: | ||
| + | environment: | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | ulimits: | ||
| + | memlock: | ||
| + | soft: -1 | ||
| + | hard: -1 | ||
| + | volumes: | ||
| + | - / | ||
| + | expose: | ||
| + | - " | ||
| + | networks: | ||
| + | - tubearchivist-net | ||
| + | |||
| + | networks: | ||
| + | tubearchivist-net: | ||
| + | dns_enabled: | ||
| </ | </ | ||
| + | |||
| + | This example shows how to use Authelia SSO authentication (for more info see [[services: | ||
| + | |||
| + | Adding **http:// | ||
| Pull the images: | Pull the images: | ||
| <code bash> | <code bash> | ||
| - | su - tubesync | + | su - tubearchivist |
| podman compose pull | podman compose pull | ||
| </ | </ | ||
| - | |||
| - | TubeSync doesn' | ||
| ==== Reverse Proxy ==== | ==== Reverse Proxy ==== | ||
| Line 52: | Line 106: | ||
| Follow the [[selfhost: | Follow the [[selfhost: | ||
| - | This is the working NGINX config file: | + | TubeArchivist requires a subdomain, so i assume you will host as **https:// |
| - | <file - tubesync.conf> | + | <file - tube.conf> |
| - | location = /tubesync { | + | |
| - | return 301 https:// | + | |
| - | } | + | |
| - | location ^~ / | + | server |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | include " |
| - | | + | |
| - | | + | |
| + | | ||
| + | | ||
| + | proxy_pass http:// | ||
| + | | ||
| + | | ||
| } | } | ||
| + | |||
| </ | </ | ||
| Line 76: | Line 133: | ||
| To start it, and set it up on boot, as usual follow my indications [[gentoo: | To start it, and set it up on boot, as usual follow my indications [[gentoo: | ||
| < | < | ||
| - | ln -s / | + | ln -s / |
| </ | </ | ||
| and create the following config file: | and create the following config file: | ||
| - | <file - / | + | <file - / |
| - | USER=tubesync | + | USER=tubearchivist |
| - | DESCRIPTION=" | + | DESCRIPTION=" |
| </ | </ | ||
| Add the service to the default runlevel and start it now: | Add the service to the default runlevel and start it now: | ||
| <code bash> | <code bash> | ||
| - | rc-update add user-containers.tubesync | + | rc-update add user-containers.tubearchivist |
| - | rc-service user-containers.tubesync | + | rc-service user-containers.tubearchivist |
| </ | </ | ||
| + | |||
| + | ===== Jellyfin Integration ===== | ||
| + | |||
| + | Use [[https:// | ||
| + | |||
| + | In short, open JellyFin go to administration / plugins and add a new repository with the following details: | ||
| + | * Repository name: TubeArchivistMetadata | ||
| + | * Repository URL: https:// | ||
| + | |||
| + | Now navigate to the plugins and install **TubeArchivistMetadata**, | ||
| + | |||
| + | After Jellyfin is running again, go to the plugins page and configure the TubeArchivistMetadata plugin with the following settings: | ||
| + | * Collection name: whatever you like, maybe YouTube | ||
| + | * TubeArchivist URL: http:// | ||
| + | * TubeArchivist API key: can be found inside TubeArchivist, | ||
| + | |||
| + | Now, to **use** the plugin, in Jellyfin go to settings -> libraries and add a new library of type "TV shows" and unselect all sources fo all kinds except TubeArchivist. | ||
| + | |||