Skip to content

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:// oder http://.
  • 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.