Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
131 lines (109 loc) · 5.87 KB
/
Copy path.env.example
File metadata and controls
131 lines (109 loc) · 5.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Youtarr Environment Variables
# Copy this file to .env and configure for your setup
# Example: cp .env.example .env
#
# IMPORTANT: After editing .env, you must completely restart your containers:
# - Using scripts: ./stop.sh then ./start.sh
# - Using Docker Compose: docker compose down then docker compose up -d
# ==============================================================================
# REQUIRED CONFIGURATION
# ==============================================================================
# Directory on the host machine where downloaded YouTube videos will be stored
# This path must exist on your host system before starting the containers
# Example Linux/Mac: /mnt/media/youtube or /home/user/videos/youtube
# Example Windows: C:/Media/YouTube (use forward slashes)
YOUTUBE_OUTPUT_DIR=./downloads
# Host port for the Youtarr web interface. The container still listens on 3011.
# If you change this, start scripts will print and poll the matching setup URL.
# YOUTARR_HOST_PORT=3087
# ==============================================================================
# DATABASE CONFIGURATION
# ==============================================================================
# By default, Youtarr uses an internal MySQL database container.
# If you want to use an external database, uncomment and set the following variables
# To match your external DB settings
# Defaults are set for internal DB use in docker-compose.yml
# Only override DB_HOST if you are using an external database
# Default is set to youtarr-db service in docker-compose.yml for built-in DB
# DB_HOST=192.168.1.100
# DB_NAME=youtarr
# Bundled DB_PORT is internal to the Docker network and is not published to the host
# DB_PORT=3321
# DB_USER=root
# DB_PASSWORD=123qweasd
# !IMPORTANT!
# If you switch DB_USER away from root while using the bundled database container,
# edit docker-compose.yml and uncomment the MYSQL_USER / MYSQL_PASSWORD lines so the
# database service creates that user automatically, or else Youtarr will not be able to start!
# Only used for internal DB setup, can be omitted for external DB
# DB_ROOT_PASSWORD=123qweasd
# ==============================================================================
# OPTIONAL CONFIGURATION
# ==============================================================================
# Youtarr service user ID and Group ID
# WARNING: Previously Youtarr ran as root (UID 0) inside the container
# It is RECOMMENDED to set these to a non-root user for improved security
# Default UID/GID is 1000 (typical first user on Linux systems)
#
# You will need to ensure that the following directories exist and that ownership of these
# directories matches the UID/GID you are using here.
# config/*
# jobs/*
# server/images/*
# Create the directories if they are missing:
# mkdir -p config jobs server/images
# Ensure that directory ownership matches the UID/GID you set here.
# Example to fix ownership: (example YOUTUBE_OUTPUT_DIR of /mnt/c/my_youtarr_videos and UID/GID of 1000/1000)
# sudo chown -R 1000:1000 /mnt/c/my_youtarr_videos ./config ./jobs ./server/images
# If NOT set, defaults to running as root (UID 0) inside the container
# YOUTARR_UID=1000
# YOUTARR_GID=1000
# Authentication Settings
# Set to false ONLY if Youtarr is behind external authentication (VPN, reverse proxy with auth)
# WARNING: Never expose Youtarr to the internet with AUTH_ENABLED=false
# Default: true (authentication enabled)
AUTH_ENABLED=true
# Initial Admin Credentials (for headless/automated deployments)
# If not set, you'll create credentials through the web UI on first access
# And they will be saved to config/config.json (password hashed)
#
# Useful for container orchestration platforms (Kubernetes, automated deployments)
# where you want to skip the one-time setup-token wizard
# NOTE: If set, these values OVERRIDE any username and password previously set through the WEB UI
# and will continue to do so on each startup
# These must meet the following validation criteria, or they will be ignored:
# Username: 1-32 characters (no leading/trailing spaces)
# Password: 8-64 characters
# AUTH_PRESET_USERNAME=admin
# AUTH_PRESET_PASSWORD=changeme
# Proxy trust
# Leave unset to preserve Express's historical proxy-header trust behavior.
# Rate limits use the direct peer IP until TRUST_PROXY is explicitly configured.
# Set TRUST_PROXY=false when exposing Youtarr directly without a reverse proxy.
# Set TRUST_PROXY=1 or a trusted subnet when a reverse proxy should supply client IPs.
# TRUST_PROXY=false
# Optional externally managed YouTube cookies (unset keeps the upload workflow).
# Put the file at config/cookies.external.txt to use the existing config mount.
# Unusable files are skipped; operations continue without cookies with a warning.
# Enable Cookies in Settings. Setup: docs/CONFIG.md#external-cookie-file
# YOUTARR_COOKIES_FILE=/app/config/cookies.external.txt
# Logging Configuration
# Options: warn, info (default), debug
# Use 'debug' for troubleshooting, 'info' for production, 'warn' for minimal logging
LOG_LEVEL=info
# Timezone selection:
# Controls console log timestamps and when scheduled jobs and nightly cleanup tasks run
# Start scripts will prompt for this on first boot; default is UTC
# Use an IANA timezone such as America/Los_Angeles or Europe/Paris
TZ=UTC
# Docker Image Selection
# For development: Set to 'youtarr-dev:latest' to use locally built image
# For production: Use default 'dialmaster/youtarr:latest' (or leave unset)
# NOTE: Development scripts automatically set this; manual override rarely needed
# YOUTARR_IMAGE=dialmaster/youtarr:latest
# ==============================================================================
# NOTES
# ==============================================================================
# - Plex configuration is done through the web UI after first startup
# - For external database setup, see docs/platforms/external-db.md
# - For platform-specific guides, see docs/ directory