From f13cc8e4be274964554bc954a4fa4d5548d5eec0 Mon Sep 17 00:00:00 2001 From: sickprodigy Date: Fri, 21 Nov 2025 19:31:28 -0500 Subject: [PATCH] Add docker-compose configuration for TubeArchivist service --- tubearchivist/docker-compose.yml | 81 ++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 tubearchivist/docker-compose.yml diff --git a/tubearchivist/docker-compose.yml b/tubearchivist/docker-compose.yml new file mode 100644 index 0000000..a557700 --- /dev/null +++ b/tubearchivist/docker-compose.yml @@ -0,0 +1,81 @@ +# Youtube alternative, uses kibana + Elasticsearch i think + +version: '3.5' + +services: + tubearchivist: + container_name: tubearchivist + restart: unless-stopped + image: bbilly1/tubearchivist + ports: + - 8111:8000 + volumes: + - /Videos/TubeArchivist:/youtube + - /docker-containers/tubearchivist/cache:/cache + environment: + - ES_URL=http://elasticsearch:9200 # needs protocol e.g. http and port + - REDIS_CON=redis://archivist-redis:6379 # don't add protocol + - HOST_UID=1000 + - HOST_GID=1006 + - TA_HOST=https://youtube.example.com https://tubearchivist.example.com https://yt.example.com http://192.168.1.239:8111 # set your host name + # - TA_PORT=8111 # to change default port nginx listens + - TA_USERNAME=tubearchivist # your initial TA credentials + - TA_PASSWORD=ChangeMe123 # your initial TA credentials + - ELASTIC_PASSWORD=ChangeMe123!#@ # set password for Elasticsearch + - TZ=America/New_York # set your time zone + - TA_AUTO_UPDATE_YTDLP=nightly + # - TA_ENABLE_AUTH_PROXY=true + # - TA_AUTH_PROXY_USERNAME_HEADER=HTTP_REMOTE_USER + # - TA_AUTH_PROXY_LOGOUT_URL=https://youtube.example.com + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/health"] + interval: 2m + timeout: 10s + retries: 3 + start_period: 30s + depends_on: + # - archivist-es # running independently + - archivist-redis + networks: # Specify network for container + homelab: + aliases: + - yt # adding multiple aliases under certain network + - youtube + - ytdl + # should redis be using elasticsearch? maybe that's why they were together? + archivist-redis: + image: redis + container_name: archivist-redis + restart: unless-stopped + expose: + - "6379" + volumes: + - /docker-containers/tubearchivist/redis:/data + # depends_on: + # - archivist-es + networks: # Specify network for container + - homelab + + # Disabled because running independently, just want the dang kibana to work also. + # archivist-es: + # image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.12.0 + # container_name: archivist-es + # 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 + # expose: + # - "9200" + +networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area.. + homelab: + external: true # This option causes compose to join the above network instead of making a _default one (supposedly) also forces to join instead of creating one