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/04/18 09:33] (current) – 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:// | ||
+ | # Uncommen tthe next two to NOT use SSO: | ||
+ | #- TA_USERNAME=not_needed | ||
+ | #- TA_PASSWORD=not_needed | ||
+ | # Comment the next three to use SSO: | ||
+ | - TA_ENABLE_AUTH_PROXY=true | ||
+ | - 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. | ||
+ | |||