diff --git a/mkdocs/docs/configuration/cast.md b/mkdocs/docs/configuration/cast.md
index a676239..8a0cd6a 100644
--- a/mkdocs/docs/configuration/cast.md
+++ b/mkdocs/docs/configuration/cast.md
@@ -1,4 +1,4 @@
-As Cast doesn't support authentication for static files, you'll also need to set [`DISABLE_STATIC_AUTH`](/installation/env-vars/#disable_static_auth) to disable authentication for your static files.
+As Cast doesn't support authentication for static files, you'll also need to set [`DISABLE_STATIC_AUTH`](../installation/env-vars.md#disable_static_auth) to disable authentication for your static files.
Enabling this integration will embed an additional third-party JS library from **Google**.
diff --git a/mkdocs/docs/installation/docker-compose.md b/mkdocs/docs/installation/docker-compose.md
index 74e3227..578feac 100644
--- a/mkdocs/docs/installation/docker-compose.md
+++ b/mkdocs/docs/installation/docker-compose.md
@@ -16,7 +16,7 @@ Save the [docker-compose.yml](https://github.com/tubearchivist/tubearchivist/blo
## Environment Variables
-For a comprehensive list of environment variables, see [installation/Environment Variables](/installation/env-vars/).
+For a comprehensive list of environment variables, see [installation/Environment Variables](env-vars.md).
## Overview
**Tube Archivist** is a Python application that displays and serves your video collection, built with Django.
diff --git a/mkdocs/docs/installation/env-vars.md b/mkdocs/docs/installation/env-vars.md
index 9ec0ff9..424c928 100644
--- a/mkdocs/docs/installation/env-vars.md
+++ b/mkdocs/docs/installation/env-vars.md
@@ -1,9 +1,18 @@
# Environment Variables
-This is a comprehensive list of environment variables accessible to users.
+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*.
@@ -14,9 +23,13 @@ Set the environment variable `TA_HOST` to match with the expected origin from wh
- 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.
!!! info
@@ -33,6 +46,8 @@ Password for your initial user. Changing that after creating the user, does not
to change the password of the user `tubearchivist` to `123456`.
## TZ
+Optional
+Type: String
Your timezone. This is used for the scheduler. Defaults to UTC.
!!! info
@@ -41,60 +56,88 @@ Your timezone. This is used for the scheduler. Defaults to UTC.
!!! 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)
-Optionally change the user and group owning the media files generated by TubeArchivist. This uses `chown` on the output files.
+## 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.
!!! warning "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)
+## 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)
+## 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)
-Configure TA to authenticate with a auth proxy. See [configuration/forward-auth](/configuration/forward-auth/) for more details.
+## TA_ENABLE_AUTH_PROXY
+Optional
+Type: Boolean
+Configure TA to authenticate with a auth proxy. See [configuration/forward-auth](../configuration/forward-auth.md) for more details.
-## TA_LDAP (optional)
-Configure TA to use LDAP for authentication. See [configuration/ldap](/configuration/ldap/) for more details.
+## TA_LDAP
+Optional
+Type: Boolean
+Configure TA to use LDAP for authentication. See [configuration/ldap](../configuration/ldap.md) for more details.
-## ENABLE_CAST (optional)
-Enable casting support. See [configuration/cast](/configuration/cast/) for more details.
+## ENABLE_CAST
+Optional
+Type: Boolean
+Enable casting support. See [configuration/cast](../configuration/cast.md) for more details.
!!! info
Enabling Cast also requires to disable authentication for your static files by setting the `DISABLE_STATIC_AUTH` variable.
-## DISABLE_STATIC_AUTH (optional)
+## 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 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.
!!! warning "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)
+## ELASTIC_USER
+Optional
+Type: String
Optionally change the ElasticSearch username from the default `elastic`.
-## ES_DISABLE_VERIFY_SSL (optional)
+## 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)
+## 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.
diff --git a/mkdocs/docs/stylesheets/style.css b/mkdocs/docs/stylesheets/style.css
index d3a08c6..fe7f5e5 100644
--- a/mkdocs/docs/stylesheets/style.css
+++ b/mkdocs/docs/stylesheets/style.css
@@ -28,6 +28,30 @@ footer {
margin-top: 2rem;
}
+.tag-alert {
+ color: white;
+ background-color: var(--highlight-error);
+ border-radius: 4px;
+ padding: 0.3em 0.5em;
+ font-size: 0.85em;
+}
+
+.tag-optional {
+ color: white;
+ background-color: var(--accent-font-dark);
+ border-radius: 4px;
+ padding: 0.3em 0.5em;
+ font-size: 0.85em;
+}
+
+.tag-neutral {
+ color: white;
+ background-color: var(--secondary-font);
+ border-radius: 4px;
+ padding: 0.3em 0.5em;
+ font-size: 0.85em;
+}
+
.md-typeset .note > .admonition-title {
background-color: var(--accent-font-dark);
}