Refactor m3u-editor service configuration to enhance environment variable management and improve overall clarity in setup.

This commit is contained in:
Nikholas Pcenicni
2026-05-08 22:29:19 -04:00
parent ded15665be
commit 8f1738e80a
2 changed files with 89 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# Host port for the Tube Archivist web UI
TA_PORT=8000
# Public URL for Tube Archivist, including protocol and port
TA_HOST=http://localhost:8000
# Initial Tube Archivist credentials
TA_USERNAME=tubearchivist
TA_PASSWORD=your_secure_tubearchivist_password
# Elasticsearch password used by both Tube Archivist and archivist-es
ELASTIC_PASSWORD=your_secure_elasticsearch_password
# Host user/group ownership for downloaded files
HOST_UID=1000
HOST_GID=1000
# Timezone
TZ=UTC
# Host path for downloaded YouTube media
TA_YOUTUBE_PATH=/mnt/media/youtube
# Elasticsearch heap sizing; Tube Archivist recommends 1g for the default stack
ES_JAVA_OPTS=-Xms1g -Xmx1g

View File

@@ -0,0 +1,64 @@
services:
tubearchivist:
image: bbilly1/tubearchivist:latest
container_name: tubearchivist
ports:
- "${TA_PORT:-8000}:8000"
volumes:
- ${TA_YOUTUBE_PATH:-/mnt/media/youtube}:/youtube
- tubearchivist_cache:/cache
environment:
- ES_URL=http://archivist-es:9200
- REDIS_CON=redis://archivist-redis:6379
- HOST_UID=${HOST_UID:-1000}
- HOST_GID=${HOST_GID:-1000}
- TA_HOST=${TA_HOST}
- TA_USERNAME=${TA_USERNAME}
- TA_PASSWORD=${TA_PASSWORD}
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- TZ=${TZ:-UTC}
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health/"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
depends_on:
- archivist-es
- archivist-redis
archivist-redis:
image: redis:7-alpine
container_name: archivist-redis
expose:
- "6379"
volumes:
- tubearchivist_redis:/data
restart: unless-stopped
depends_on:
- archivist-es
archivist-es:
image: bbilly1/tubearchivist-es:latest
container_name: archivist-es
environment:
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- ES_JAVA_OPTS=${ES_JAVA_OPTS}
- xpack.security.enabled=true
- discovery.type=single-node
- path.repo=/usr/share/elasticsearch/data/snapshot
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- tubearchivist_es:/usr/share/elasticsearch/data
expose:
- "9200"
restart: unless-stopped
volumes:
tubearchivist_cache:
tubearchivist_redis:
tubearchivist_es: