Environment Variables#
This is a comprehensive list of environment variables for the Tube Archivist container accessible to users. Unless stated otherwise, these environment variables apply to all documented installation instructions.
- Required: These environment variables are required to be set.
- Optional: These are optional variables enabling additional configurations.
- Data Types: Expected data type of the environment variable.
- Type: String: Regular string
- Type: Number: Will get converted to a number
- Type: Boolean: Will evaluate to
True
to enable the discribed functionality. Set to anything except blank string to enable. To disable, remove the variable.
TA_HOST#
Required Type: String
Set the environment variable TA_HOST
to match with the expected origin from where you will access your Tube Archivist instance. That is whatever you input into your browser URL bar.
- This can be a domain like example.com, a subdomain like ta.example.com or an IP address like 192.168.1.20.
- Define the protocol, e.g.
https://
oderhttp://
. - Specify the port If you are using a nonstandard port.
- You can add multiple hostnames separated with a space.
- Any wrong configurations here will result in a
Bad Request (400)
response. - When in doubt, activate
DJANGO_DEBUG
to get explicit errors in the logs from where the requests are coming from.
TA_USERNAME#
Required
Type: String
Username for your initial credentials. Changing that after first time starting the application won't have any effect. Use the admin interface to change or add that.
TA_PASSWORD#
Required
Type: String
Password for your initial user. Changing that after creating the user, does not have any effect. Use the admin interface to change your password.
If you forgot your password, see User Management/#Forgot Password.
TZ#
Optional
Type: String
Your timezone. This is used for the scheduler. Defaults to UTC.
Info
If you don't know your timezone, you can find a list here. Enter the value from the TZ Identifier
column.
Info
There is a check at application startup comparing the TZ
value with your existing schedules. Your schedules will update automatically to reflect the change in timezone.
HOST_UID and HOST_GID#
Optional
Type: Number
Change the user and group owning the media files generated by TubeArchivist. This uses chown
on the output files.
Filesystem Compatibility
Not all filesystems support chown
. Notably NFS
does not have functionality to change the ownership of files.
You will see a error like PermissionError: [Errno 1] Operation not permitted
when TA is trying to change the ownership of the downloaded file.
TA_PORT#
Optional
Type: Number
This changes the actual port Nginx is listening on. That is the public port exposed through the docker container. If you have a port collision on default port 8000, see bellow.
TA_BACKEND_PORT#
Optional
Type: Number
This changes the port where the backend service is running on. That is container internal only, but you might need to change that if you use a shared docker network and have a port collision there.
TA_ENABLE_AUTH_PROXY#
Optional
Type: Boolean
Configure TA to authenticate with a auth proxy. See configuration/forward-auth for more details.
TA_LDAP#
Optional
Type: Boolean
Configure TA to use LDAP for authentication. See configuration/ldap for more details.
DISABLE_STATIC_AUTH#
Optional
Type: Boolean
This will disable authentication for static assets like your video mp4 files, subtitles and artwork. This might be required if you need to access the media files over the HTTP server but you are not able to pass authentication headers.
Info
This is read only
access and does not allow for deleting/modifying any media files. But it is still recommended limit exposure or add additional protections if you enable that.
DJANGO_DEBUG#
Optional
Type: Boolean
Enable debug to show additional log information like HTTP requests and yt-dlp configurations in your Docker logs. Helpful for development and debugging.
Memory Leak
Only set this temporarily if you need to inspect some specific problem. Don't forget to remove it again after. This introduces a memory leak plus standard error messages from the backend will be in HTML showing a detailed stack trace and additional info instead of JSON, meaning the frontend is not able to display any error messages.
REDIS_CON#
Required
Type: String
Connection string for your Redis instance. Specify protocol, host and port.
E.g.: redis://archivist-redis:6379
ES_URL#
Required
Type: String
URL for your ElasticSearch instance. Add protocol and port.
E.g. http://archivist-es:9200
.
ELASTIC_PASSWORD#
Required
Type: String
This is the password for ElasticSearch. Make sure it matches with the equivalent password set for the ElasticSearch container.
ELASTIC_USER#
Optional
Type: String
Optionally change the ElasticSearch username from the default elastic
.
ES_DISABLE_VERIFY_SSL#
Optional
Type: Boolean
Optionally disable SSL verification for ElasticSearch. Useful if you use a self signed certificate for ElasticSearch.
ES_SNAPSHOT_DIR#
Optional
Type: String
Optionally set a custom path where elastic search stores snapshots for master/data nodes. Note, that path applies to inside the ES container.