TubeArchivist Stack: add base for this stack

This commit is contained in:
Aroy-Art 2025-06-12 20:37:35 +02:00
parent 305a41d8da
commit 9377f21977
Signed by: Aroy
GPG key ID: DB9689E9391DD156
3 changed files with 83 additions and 0 deletions

View file

@ -0,0 +1,16 @@
MAIN_PORT= # The Main port of the service, default 8000
PUID= # The host UID, default 1000
PGID= # The host GID, default 1000
TZ= # The timezone of the service, e.g. America/Los_Angeles, default Europe/Stockholm
MEDIA_PATH= # The path to your media files, default ./Media
CONFIG_PATH= # The path to your config files, default ./Config
TA_HOST= # Set your host name with protocol and port, e.g. http://192.168.1.40, default http://tube-arc.lan
TA_USERNAME= # Your initial TA credentials, default tubearchivist
TA_PASSWORD= # Your initial TA credentials, default verysecret
ES_PASSWORD= # The password for Elasticsearch, default verysecret

View file

@ -0,0 +1,5 @@
# Tube Archivist
Your self hosted YouTube media server
**Project URL:** [TubeArchivist](https://github.com/bbilly1/TubeArchivist)

View file

@ -0,0 +1,62 @@
name: tubearchivist-stack
services:
tubearchivist:
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist:v0.5.4
ports:
- ${MAIN_PORT:-8000}:8000
volumes:
- ${MEDIA_PATH:-./Media}:/youtube
- ${CONFIG_PATH:-./Config}/cache:/cache
environment:
- ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port
- REDIS_CON=redis://archivist-valkey:6379 # needs protocol e.g. redis and port
- HOST_UID=${PUID:-1000} # set your host UID and GID, default 1000
- HOST_GID=${PGID:-1000} # set your host UID and GID, default 1000
- TA_HOST=${TA_HOST:-http://tube-arc.lan} # set your host name with protocol and port
- TA_USERNAME=${TA_USERNAME:-tubearchivist} # your initial TA credentials
- TA_PASSWORD=${TA_PASSWORD:-verysecret} # your initial TA credentials
- ELASTIC_PASSWORD=${ES_PASSWORD:-verysecret} # set password for Elasticsearch
- TZ=${TZ:-Europe/Stockholm} # set your time zone
depends_on:
- archivist-es
- archivist-valkey
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
archivist-valkey:
image: valkey/valkey:alpine
container_name: archivist-valkey
restart: unless-stopped
expose:
- "6379"
volumes:
- ${CONFIG_PATH:-./Config/valkey}:/data
depends_on:
- archivist-es
archivist-es:
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.17.2
container_name: archivist-es
restart: unless-stopped
environment:
- "ELASTIC_PASSWORD=${ES_PASSWORD:-verysecret}" # matching Elasticsearch password
- "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:
- ${CONFIG_PATH:-./Config}/es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
expose:
- "9200"