Remove prefix from global environment variables, prefixing them didn't make sense.
This commit is contained in:
25
FAQ.md
25
FAQ.md
@@ -49,7 +49,7 @@ $ docker exec -ti watchstate console system:tasks
|
||||
|
||||
### Container is crashing on startup?
|
||||
|
||||
This is likely due to misconfigured `user:` in `docker-compose.yaml`, the container is rootless as such it will crash if
|
||||
This is likely due to misconfigured `user:` in `compose.yaml`, the container is rootless as such it will crash if
|
||||
the tool unable to access the data path. to check permissions simply do the following
|
||||
|
||||
```bash
|
||||
@@ -174,7 +174,7 @@ You have to repeat these steps for each user you want to migrate their data off
|
||||
|
||||
> [!IMPORTANT]
|
||||
> YOU MUST always start with fresh data for **EACH USER**, otherwise unexpected things might happen.
|
||||
> Make sure to delete docker-compose.yaml `./data` directory. to start fresh
|
||||
> Make sure to delete compose.yaml `./data` directory. to start fresh
|
||||
|
||||
----
|
||||
|
||||
@@ -286,7 +286,7 @@ $ mv /config/db/watchstate_v01-repaired.db /config/db/watchstate_v01.db
|
||||
|
||||
There are many ways to load the environment variables, However the recommended methods are:
|
||||
|
||||
* Via `docker-compose.yaml` file.
|
||||
* Via `compose.yaml` file.
|
||||
* Via `/config/config/.env` file. This file normally does not exist you have to created manually.
|
||||
|
||||
to see list of loaded environment variables run:
|
||||
@@ -328,14 +328,17 @@ $ docker exec -ti watchstate console system:tasks
|
||||
#### Container specific environment variables.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> These environment variables relates to the container itself, and must be added via the `docker-compose.yaml` file.
|
||||
> These environment variables relates to the container itself, and must be added via the `compose.yaml` file.
|
||||
|
||||
| Key | Type | Description | Default |
|
||||
|------------------|---------|------------------------------------|----------|
|
||||
| WS_DISABLE_HTTP | integer | Disable included `HTTP Server`. | `0` |
|
||||
| WS_DISABLE_CRON | integer | Disable included `Task Scheduler`. | `0` |
|
||||
| WS_DISABLE_CACHE | integer | Disable included `Cache Server`. | `0` |
|
||||
|----------------------|---------|------------------------------------|----------|
|
||||
| DISABLE_HTTP | integer | Disable included `HTTP Server`. | `0` |
|
||||
| DISABLE_CRON | integer | Disable included `Task Scheduler`. | `0` |
|
||||
| DISABLE_CACHE | integer | Disable included `Cache Server`. | `0` |
|
||||
| HTTP_PORT | string | Change the `HTTP` listen port. | `"8080"` |
|
||||
| ~~WS_DISABLE_HTTP~~ | integer | Deprecated use `DISABLE_HTTP` | `0` |
|
||||
| ~~WS_DISABLE_CRON~~ | integer | Deprecated use `DISABLE_CRON` | `0` |
|
||||
| ~~WS_DISABLE_CACHE~~ | integer | Deprecated use `DISABLE_CACHE` | `0` |
|
||||
|
||||
---
|
||||
|
||||
@@ -486,14 +489,14 @@ Those are some web hook limitations we discovered for the following media backen
|
||||
|
||||
As stated in webhook limitation section sometimes media backends don't make it easy to receive those events, as such, to
|
||||
complement webhooks, you should enable import/export tasks by settings their respective environment variables in
|
||||
your `docker-compose.yaml` file. For more information run help on `system:env` command as well as `system:tasks`
|
||||
your `compose.yaml` file. For more information run help on `system:env` command as well as `system:tasks`
|
||||
command.
|
||||
|
||||
---
|
||||
|
||||
### How to disable the included HTTP server and use external server?
|
||||
|
||||
Set this environment variable in your `docker-compose.yaml` file `WS_DISABLE_HTTP` with value of `1`. your external
|
||||
Set this environment variable in your `compose.yaml` file `WS_DISABLE_HTTP` with value of `1`. your external
|
||||
server need to send correct fastcgi environment variables. Example caddy file
|
||||
|
||||
```caddyfile
|
||||
@@ -516,7 +519,7 @@ https://watchstate.example.org {
|
||||
|
||||
### How to disable the included cache server and use external cache server?
|
||||
|
||||
Set this environment variable in your `docker-compose.yaml` file `WS_DISABLE_CACHE` with value of `1`.
|
||||
Set this environment variable in your `compose.yaml` file `WS_DISABLE_CACHE` with value of `1`.
|
||||
to use external redis server you need to alter the value of `WS_CACHE_URL` environment variable. the format for this
|
||||
variable is `redis://host:port?password=auth&db=db_num`, for example to use redis from another container you could use
|
||||
something like `redis://172.23.1.10:6379?password=my_secert_password&db=8`. We only support `redis` and API compatible
|
||||
|
||||
9
NEWS.md
9
NEWS.md
@@ -1,5 +1,14 @@
|
||||
# Old Updates
|
||||
|
||||
### 2024-04-30 - [BREAKING CHANGE]
|
||||
|
||||
We are going to retire the old webhooks endpoint, please refer to the [FAQ](FAQ.md#how-to-add-webhooks) to know how to
|
||||
update
|
||||
to the new API endpoint. We are going to include `WebUI` for alpha testing after two weeks from today `2024-05-15`.
|
||||
Which most likely means the old webhooks
|
||||
endpoint will be removed. We will try to preserve the old endpoint for a while, but it's not guaranteed we will be able
|
||||
to.
|
||||
|
||||
### 2024-03-08
|
||||
|
||||
This update include breaking changes to how we process commands, we have streamlined the command interface to accept
|
||||
|
||||
25
README.md
25
README.md
@@ -9,20 +9,17 @@ out of the box, this tool support `Jellyfin`, `Plex` and `Emby` media servers.
|
||||
|
||||
## updates
|
||||
|
||||
### 2024-05-05
|
||||
|
||||
We are deprecating the use of the following environment variables `WS_DISABLE_HTTP`, `WS_DISABLE_CRON`, `WS_DISABLE_CACHE`,
|
||||
and replacing them with `DISABLE_CACHE`, `DISABLE_CRON`, `DISABLE_HTTP`. The old environment variables will be removed in the future versions.
|
||||
It doesn't make sense to mark them as `WS_` since they are global and do not relate to the tool itself. And they must be set from the `compose.yaml` file itself.
|
||||
|
||||
### 2024-05-04
|
||||
|
||||
The new webhook endpoint no longer requires a key, and it's now open to public you just need to specify the backend
|
||||
name.
|
||||
|
||||
### 2024-04-30 - [BREAKING CHANGE]
|
||||
|
||||
We are going to retire the old webhooks endpoint, please refer to the [FAQ](FAQ.md#how-to-add-webhooks) to know how to
|
||||
update
|
||||
to the new API endpoint. We are going to include `WebUI` for alpha testing after two weeks from today `2024-05-15`.
|
||||
Which most likely means the old webhooks
|
||||
endpoint will be removed. We will try to preserve the old endpoint for a while, but it's not guaranteed we will be able
|
||||
to.
|
||||
|
||||
Refer to [NEWS](NEWS.md) for old updates.
|
||||
|
||||
# Features
|
||||
@@ -40,7 +37,7 @@ Refer to [NEWS](NEWS.md) for old updates.
|
||||
|
||||
# Install
|
||||
|
||||
create your `docker-compose.yaml` with the following content:
|
||||
create your `compose.yaml` with the following content:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
@@ -60,7 +57,7 @@ services:
|
||||
- ./data:/config:rw # mount current directory to container /config directory.
|
||||
```
|
||||
|
||||
Create directory called `data` next to the `docker-compose.yaml` file. After creating your docker compose file, start
|
||||
Create directory called `data` next to the `compose.yaml` file. After creating your docker compose file, start
|
||||
the container.
|
||||
|
||||
```bash
|
||||
@@ -82,7 +79,7 @@ $ mkdir -p ./data && docker-compose pull && docker-compose up -d
|
||||
> terminal `chown -R 99:100 /mnt/user/appdata/watchstate`.
|
||||
|
||||
> [!NOTE]
|
||||
> To use this container with `podman` set `docker-compose.yaml` `user` to `0:0`. it will appear to be working as root
|
||||
> To use this container with `podman` set `compose.yaml` `user` to `0:0`. it will appear to be working as root
|
||||
> inside the container, but it will be mapped to the user in which the command was run under.
|
||||
|
||||
# Adding backend
|
||||
@@ -132,7 +129,7 @@ $ docker exec -ti watchstate console state:import -v -s home_plex -s home_jellyf
|
||||
> [!NOTE]
|
||||
> Now that you have imported your current play state enable the import task by adding the following environment
|
||||
> variables to
|
||||
> your `docker-compose.yaml` file `WS_CRON_IMPORT=1`. By default, we have it disabled. for more environment variables
|
||||
> your `compose.yaml` file `WS_CRON_IMPORT=1`. By default, we have it disabled. for more environment variables
|
||||
> please
|
||||
> refer to [Environment variables list](FAQ.md#environment-variables).
|
||||
|
||||
@@ -172,7 +169,7 @@ $ docker exec -ti watchstate console state:export -v -s home_plex -s home_jellyf
|
||||
> [!NOTE]
|
||||
> Now that you have exported your current play state, enable the export task by adding the following environment
|
||||
> variables to
|
||||
> your `docker-compose.yaml` file `WS_CRON_EXPORT=1`. By default, we have it disabled. for more environment variables
|
||||
> your `compose.yaml` file `WS_CRON_EXPORT=1`. By default, we have it disabled. for more environment variables
|
||||
> please
|
||||
> refer to [Environment variables list](FAQ.md#environment-variables).
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@ set -e
|
||||
DATA_PATH="${WS_DATA_PATH:-/config}"
|
||||
ENV_FILE="${DATA_PATH}/config/.env"
|
||||
|
||||
WS_UMASK="${WS_UMASK:-0000}"
|
||||
W_UMASK="${UMASK:-0000}"
|
||||
|
||||
umask "${WS_UMASK}"
|
||||
umask "${W_UMASK}"
|
||||
|
||||
echo_err() { cat <<< "$@" 1>&2; }
|
||||
|
||||
@@ -15,11 +15,11 @@ if [ ! -w "${DATA_PATH}" ]; then
|
||||
CH_GRP=$(stat -c "%g" "${DATA_PATH}")
|
||||
echo_err "ERROR: Unable to write to [${DATA_PATH}] data directory. Current user id [${UID}] while directory owner is [${CH_USER}]"
|
||||
echo_err "[Running under docker]"
|
||||
echo_err "change docker-compose.yaml user: to user:\"${CH_USER}:${CH_GRP}\""
|
||||
echo_err "change compose.yaml user: to user:\"${CH_USER}:${CH_GRP}\""
|
||||
echo_err "Run the following command to change the directory ownership"
|
||||
echo_err "chown -R \"${CH_USER}:${CH_GRP}\" ./data"
|
||||
echo_err "[Running under podman]"
|
||||
echo_err "change docker-compose.yaml user: to user:\"0:0\""
|
||||
echo_err "change compose.yaml user: to user:\"0:0\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -39,22 +39,38 @@ else
|
||||
echo "[$(date +"%Y-%m-%dT%H:%M:%S%z")] INFO: No environment file present at [${ENV_FILE}]."
|
||||
fi
|
||||
|
||||
DISABLE_HTTP=${DISABLE_HTTP:-0}
|
||||
DISABLE_CRON=${DISABLE_CRON:-0}
|
||||
DISABLE_CACHE=${DISABLE_CACHE:-0}
|
||||
|
||||
WS_DISABLE_HTTP=${WS_DISABLE_HTTP:-0}
|
||||
WS_DISABLE_CRON=${WS_DISABLE_CRON:-0}
|
||||
WS_DISABLE_CACHE=${WS_DISABLE_CACHE:-0}
|
||||
|
||||
if [ 0 != "${WS_DISABLE_HTTP}" ] || [ 0 != "${WS_DISABLE_CRON}" ] || [ 0 != "${WS_DISABLE_CACHE}" ]; then
|
||||
echo_err ""
|
||||
echo_err "---------------------------------------------------------------------------------------------"
|
||||
echo_err "-----------------------------------[ DEPRECATION NOTICE ]------------------------------------"
|
||||
echo_err "---------------------------------------------------------------------------------------------"
|
||||
echo_err "The use of the following variables is deprecated and will be removed in future releases."
|
||||
echo_err "WS_DISABLE_HTTP, WS_DISABLE_CRON, WS_DISABLE_CACHE."
|
||||
echo_err "Please use the DISABLE_HTTP, DISABLE_CRON, DISABLE_CACHE variables instead."
|
||||
echo_err "---------------------------------------------------------------------------------------------"
|
||||
echo_err ""
|
||||
fi
|
||||
|
||||
set -u
|
||||
|
||||
# Generate Config structure.
|
||||
#
|
||||
WS_CACHE_NULL=1 /opt/bin/console -v >/dev/null
|
||||
|
||||
if [ 0 = "${WS_DISABLE_CACHE}" ]; then
|
||||
if [ 0 = "${DISABLE_CACHE}" ] && [ 0 = "${WS_DISABLE_CACHE}" ]; then
|
||||
echo "[$(date +"%Y-%m-%dT%H:%M:%S%z")] Starting Cache Server."
|
||||
redis-server "/opt/config/redis.conf"
|
||||
fi
|
||||
|
||||
if [ 0 = "${WS_DISABLE_HTTP}" ]; then
|
||||
if [ 0 = "${DISABLE_HTTP}" ] && [ 0 = "${WS_DISABLE_HTTP}" ]; then
|
||||
echo "[$(date +"%Y-%m-%dT%H:%M:%S%z")] Starting HTTP Server."
|
||||
_CADDY_UUID_FILE="${XDG_DATA_HOME}/caddy/instance.uuid"
|
||||
if [ ! -f "${_CADDY_UUID_FILE}" ]; then
|
||||
@@ -78,7 +94,7 @@ echo "[$(date +"%Y-%m-%dT%H:%M:%S%z")] Ensuring state table has correct indexes.
|
||||
|
||||
/opt/bin/console system:apikey -q
|
||||
|
||||
if [ 0 = "${WS_DISABLE_CRON}" ]; then
|
||||
if [ 0 = "${DISABLE_CRON}" ] && [ 0 = "${WS_DISABLE_CRON}" ]; then
|
||||
if [ -f "/tmp/job-runner.pid" ]; then
|
||||
echo "[$(date +"%Y-%m-%dT%H:%M:%S%z")] Found pre-existing tasks scheduler pid file. Removing it."
|
||||
rm -f "/tmp/job-runner.pid"
|
||||
|
||||
@@ -69,7 +69,7 @@ final class EnvCommand extends Command
|
||||
|
||||
<question>(1) Via Docker compose file</>
|
||||
|
||||
You can load environment variables via [<comment>docker-compose.yaml</comment>] file by adding them under the [<comment>environment</comment>] key.
|
||||
You can load environment variables via [<comment>compose.yaml</comment>] file by adding them under the [<comment>environment</comment>] key.
|
||||
For example, to enable import task, do the following:
|
||||
|
||||
-------------------------------
|
||||
|
||||
Reference in New Issue
Block a user