User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:tubearchivist [2025/04/17 13:24] willyservices:tubearchivist [2025/04/18 09:33] (current) willy
Line 1: Line 1:
 ====== Tube Archivist ====== ====== Tube Archivist ======
  
-[[https://www.tubearchivist.com/|TubeArchivist]] ...+[[https://www.tubearchivist.com/|TubeArchivist]] is YouTube downloader and metadata collectorYou can use it to download your favourite YouTube channels and playlists (to dowload single videos, create a playlist and add it to that)With an additional plugin it can feed Jellyfin with all the metadata for smooth navigation.
  
 ==== Installation ==== ==== Installation ====
Line 22: Line 22:
 Download the composer file from [[https://github.com/tubearchivist/tubearchivist/blob/master/docker-compose.yml|here]], and edit like the following: Download the composer file from [[https://github.com/tubearchivist/tubearchivist/blob/master/docker-compose.yml|here]], and edit like the following:
 <file - docker-compose.yml> <file - docker-compose.yml>
 +version: '3.5'
  
 +services:
 +  tubearchivist:
 +    container_name: tubearchivist
 +    image: bbilly1/tubearchivist
 +    ports:
 +      - 8124:8000
 +    volumes:
 +      - /data/Media/YouTube:/youtube
 +      - /data/daemons/tubearchivist/cache:/cache
 +    environment:
 +      - ES_URL=http://archivist-es:9200
 +      - REDIS_CON=redis://archivist-redis:6379
 +      - TA_HOST=https://tube.mydomain.com http://127.0.0.1:8124
 +      # 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://login.mydomain.com/logout
 +      - ELASTIC_PASSWORD=<< create a random password >>
 +      - TZ=Europe/London
 +      # Uncomment to enable extra debug: 
 +      #- DJANGO_DEBUG=True
 +    depends_on:
 +      - archivist-es
 +      - archivist-redis
 +    networks:
 +      - tubearchivist-net
  
 +  archivist-redis:
 +    image: redis
 +    container_name: archivist-redis
 +    restart: unless-stopped
 +    expose:
 +      - "6379"
 +    volumes:
 +      - /data/daemons/tubearchivist/redis:/data
 +    depends_on:
 +      - archivist-es
 +    networks:
 +      - tubearchivist-net
 +
 +  archivist-es:
 +    image: bbilly1/tubearchivist-es
 +    container_name: archivist-es
 +    environment:
 +      - "ELASTIC_PASSWORD=<< copy same password above >>"
 +      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
 +      - "xpack.security.enabled=true"
 +      - "discovery.type=single-node"
 +      - "path.repo=/usr/share/elasticsearch/data/snapshot"
 +    ulimits:
 +      memlock:
 +        soft: -1
 +        hard: -1
 +    volumes:
 +      - /data/daemons/tubearchivist/es:/usr/share/elasticsearch/data
 +    expose:
 +      - "9200"
 +    networks:
 +      - tubearchivist-net
 +
 +networks:
 +  tubearchivist-net:
 +    dns_enabled: true
 </file> </file>
  
-I will show also how to setup Authelia SSO authentication belowat this point you will only use the initial password to login for the first time.+This example shows how to use Authelia SSO authentication (for more info see [[services:authelia|here]]), you will not need to setup an initial password and username. 
 + 
 +Adding **http://127.0.0.1:8124** to TA_HOST is required to ensure that the Jellyfin plugin works.
  
 Pull the images: Pull the images:
Line 49: Line 117:
         access_log /var/log/nginx/tube.mydomain.com_access_log main;         access_log /var/log/nginx/tube.mydomain.com_access_log main;
         error_log /var/log/nginx/tube.mydomain.com_error_log info;         error_log /var/log/nginx/tube.mydomain.com_error_log info;
-#       include "org.mydomain/authelia_location.conf";+       include "org.mydomain/authelia_location.conf";
  
         location ^~ / {         location ^~ / {
-#               include "com.mydomain/authelia_proxy.conf"; +               include "com.mydomain/authelia_proxy.conf"; 
-              include "com.mydomain/authelia_authrequest.conf";+               include "com.mydomain/authelia_authrequest.conf";
                 proxy_pass http://127.0.0.1:8124;                 proxy_pass http://127.0.0.1:8124;
-                proxy_set_header X-Forwarded-Protocol $scheme; 
-                proxy_set_header Remote-User $remote_user; 
-                proxy_buffering off; 
         }         }
- 
         include com.mydomain/certbot.conf;         include com.mydomain/certbot.conf;
 } }
Line 74: Line 138:
 and create the following config file: and create the following config file:
 <file - /etc/conf.d/user-containers.tubearchivist> <file - /etc/conf.d/user-containers.tubearchivist>
-USER=tubesync+USER=tubearchivist
 DESCRIPTION="Download YouTube stuff" DESCRIPTION="Download YouTube stuff"
 </file> </file>
Line 83: Line 147:
 rc-service user-containers.tubearchivist start rc-service user-containers.tubearchivist start
 </code> </code>
 +
 +===== Jellyfin Integration =====
 +
 +Use [[https://github.com/tubearchivist/tubearchivist-jf-plugin|this plugin]] in JellyFin.
 +
 +In short, open JellyFin go to administration / plugins and add a new repository with the following details:
 +  * Repository name: TubeArchivistMetadata
 +  * Repository URL: https://github.com/tubearchivist/tubearchivist-jf-plugin/raw/master/manifest.json
 +
 +Now navigate to the plugins and install **TubeArchivistMetadata**, now restart Jellyfin server.
 +
 +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://127.0.0.1:8124 (you need to use the local URL to avoid the Authelia SSO filtering the plugin requests)
 +  * TubeArchivist API key: can be found inside TubeArchivist, under Settings / Application / Integration
 +
 +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.
 +
  

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information