From 761b6e655ddefef0c7224555bbffa684204efc4c Mon Sep 17 00:00:00 2001 From: tiyn Date: Fri, 13 Oct 2023 00:27:05 +0200 Subject: [PATCH] tubearchivist: added --- wiki/docker/bbilly1_-_tubearchivist.md | 132 ++++++++++++++++++++++ wiki/docker/gramps-project_-_grampsweb.md | 5 +- wiki/tubearchivist.md | 9 ++ wiki/youtube.md | 4 +- 4 files changed, 145 insertions(+), 5 deletions(-) create mode 100644 wiki/docker/bbilly1_-_tubearchivist.md create mode 100644 wiki/tubearchivist.md diff --git a/wiki/docker/bbilly1_-_tubearchivist.md b/wiki/docker/bbilly1_-_tubearchivist.md new file mode 100644 index 0000000..af0b98a --- /dev/null +++ b/wiki/docker/bbilly1_-_tubearchivist.md @@ -0,0 +1,132 @@ +# bbilly1 - tubearchivist + +This is a [Docker](/wiki/docker.md) container for a [TubeArchivist](/wiki/tubearchivist.md) +server. +The Server consists of 3 Docker containers, one is the TubeArchivist main server, another is a +TubeArchivist specific version of Elasticsearch and one a [redis](/wiki/docker/redis.md) instance. + +## Set-up + +Create the files `rebuild.sh` and `docker-compose.yml` at the same place. +Change the settings according to your needs and run `./rebuild.sh` afterwards. + +## Environment-variables + +Set the following environment-variables in the `environment:` section of the +docker-compose file. + +The following table lists the environment variables for the image `bbilly1/tubearchivist`. + +| Name | Usage | Default | +| -------------------| ------------------------------------------- | ------- | +| `ES_URL` | Network address for elastic search instance | `` | +| `REDIS_HOST` | Redis broker URL | `` | +| `HOST_UID` | User ID of Host | `` | +| `HOST_GID` | Group ID of Host | `` | +| `TA_HOST` | Domain name for TubeArchivist | `` | +| `TA_USERNAME` | User name for TubeArchivist | `` | +| `TA_PASSWORD` | Password for TubeArchivist | `` | +| `ELASTIC_PASSWORD` | Password for Elasticsearch | `` | +| `TZ` | Timezone | `` | + +The following table lists the environment variables for the image `bbilly1/tubearchivist-es`. + +| Name | Usage | Default | +| -------------------| ------------------------------------------- | ------- | +| `ELASTIC_PASSWORD` | Password for Elasticsearch | `` | +| `ES_JAVA_OPTS` | Additional Java options | `` | + +## Volumes + +Set the following volumes in the `volumes:` section of the docker-compose file. + +The following table lists the environment variables for the image `bbilly1/tubearchivist`. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | ------------------------ | --------------------------- | +| `media` | `/youtube` | storage for media | +| `cache` | `/cache` | storage for cache | + +The following table lists the environment variables for the image `bbilly1/tubearchivist-es`. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | ------------------------------- | --------------------------- | +| `es` | `/usr/share/elasticsearch/data` | storage for elasticsearch | + +## Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ----------- | +| `8000` | `8881` | TCP | WebUI | + +## rebuild.sh + +```sh +#!/bin/sh +docker-compose down +docker-compose up -d +``` + +## docker-compose.yml + +```yml +version: '3.3' + +services: + ta: + restart: unless-stopped + image: bbilly1/tubearchivist + ports: + - 8881:8000 + volumes: + - media:/youtube + - cache:/cache + environment: + - ES_URL=http://es:9200 # needs protocol e.g. http and port + - REDIS_HOST=redis # don't add protocol + - HOST_UID=1000 + - HOST_GID=1000 + - TA_HOST=subdomain.domain.tld # set your host name + - TA_USERNAME=admin # your initial TA credentials + - TA_PASSWORD=admin # your initial TA credentials + - ELASTIC_PASSWORD=verysecret # set password for Elasticsearch + - TZ=Europe/Berlin # set your time zone + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/health"] + interval: 2m + timeout: 10s + retries: 3 + depends_on: + - es + - redis + redis: + image: redis/redis-stack-server + restart: unless-stopped + volumes: + - redis:/data + depends_on: + - es + es: + image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.9.0 + restart: unless-stopped + environment: + - "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + - "xpack.security.enabled=true" + - "discovery.type=single-node" + - "path.repo=/usr/share/elasticsearch/data/snapshot" + ulimits: + memlock: + soft: -1 + hard: -1 + volumes: + - es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme + +volumes: + media: + cache: + redis: + es: +``` diff --git a/wiki/docker/gramps-project_-_grampsweb.md b/wiki/docker/gramps-project_-_grampsweb.md index 1543f51..1d2a677 100644 --- a/wiki/docker/gramps-project_-_grampsweb.md +++ b/wiki/docker/gramps-project_-_grampsweb.md @@ -2,9 +2,8 @@ This is a [Docker](/wiki/docker.md) container for a [Gramps](../gramps.md) server. -The Server consists of 2 Docker containers, one is the gramps main server and one a redis instance. -The main server is split into two subcontainers. -In addition to the main container you need to connect a [redis container](./redis.md) to it. +The Server consists of 2 Docker containers, one is the gramps main server - split into two +subcontainers - and one a [redis instance](/wiki/docker/redis.md). ## Set-up diff --git a/wiki/tubearchivist.md b/wiki/tubearchivist.md new file mode 100644 index 0000000..5c3d7b3 --- /dev/null +++ b/wiki/tubearchivist.md @@ -0,0 +1,9 @@ +# TubeArchivist + +[TubeArchivist](https://github.com/tubearchivist/tubearchivist) is a service that features a web +user interface for downloading [YouTube](/wiki/youtube.md) videos. + +## Setup + +The software can be setup via [Docker](/wiki/docker.md) with the +[bbilly1 image](/wiki/docker/bbilly1_-_tubearchivist.md). diff --git a/wiki/youtube.md b/wiki/youtube.md index b11e585..f1716c0 100644 --- a/wiki/youtube.md +++ b/wiki/youtube.md @@ -19,8 +19,8 @@ As a command line utility [yt-dl](https://github.com/ytdl-org/youtube-dl) can be used. Since yt-dl is stagnant its fork [yt-dlp](https://github.com/yt-dlp/yt-dlp) is recommended. -[MeTube](/wiki/metube.md) is a self-hostable web user interface for -[yt-dlp](https://github.com/yt-dlp/yt-dlp). +[MeTube](/wiki/metube.md) and [TubeArchivist](/wiki/docker/bbilly1_-_tubearchivist.md) are +self-hostable web user interfaces for [yt-dlp](https://github.com/yt-dlp/yt-dlp). ## Automatically Skip Sponsorships