Overwrite server.conf settings only for provided env vars (#76)

* Overwrite server.conf settings only for provided env vars

Currently on every start the whole server.conf file gets replaced which causes any changed settings during runtime to get lost

* Fix readme formatting

* Add "webUIEnabled" env variable

This is the only setting that can not be changed via the UI

* Remove default values from readme
This commit is contained in:
schroda
2024-01-21 17:57:59 +01:00
committed by GitHub
parent 81ee2a71e2
commit d93e8c3c1a
5 changed files with 121 additions and 117 deletions

View File

@@ -27,6 +27,12 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# install unzip to unzip the server-reference.conf from the jar
RUN apt-get update && \
apt-get -y install -y unzip && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Create a user to run as
RUN groupadd --gid 1000 suwayomi && \
useradd --uid 1000 --gid suwayomi --no-log-init suwayomi && \
@@ -36,8 +42,8 @@ WORKDIR /home/suwayomi
# Copy the app into the container
RUN curl -s --create-dirs -L $TACHIDESK_RELEASE_DOWNLOAD_URL -o /home/suwayomi/startup/tachidesk_latest.jar
COPY scripts/create_server_conf.sh /home/suwayomi/create_server_conf.sh
COPY scripts/startup_script.sh /home/suwayomi/startup_script.sh
COPY server.conf.template /home/suwayomi/server.conf.template
# update permissions of files.
# we grant o+rwx because we need to allow non default UIDs (eg via docker run ... --user)

View File

@@ -1,7 +1,7 @@
# Tachidesk-docker
| Status | Stable |Preview | Discord Support|
|:-:|:-:|:-:|:-:|
| Status | Stable | Preview | Discord Support |
|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------:|
| [![Build Docker Images](https://github.com/suwayomi/docker-tachidesk/actions/workflows/build_container_images.yml/badge.svg)](https://github.com/suwayomi/docker-tachidesk/actions/workflows/build_container_images.yml) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https://github.com/suwayomi/docker-tachidesk/raw/main/scripts/tachidesk_version.json&label=docker_pulls&query=$.total_downloads&color=blue)](https://github.com/orgs/suwayomi/packages/container/package/tachidesk) | [![Latest](https://img.shields.io/badge/dynamic/json?url=https://github.com/suwayomi/docker-tachidesk/raw/main/scripts/tachidesk_version.json&label=version&query=$.stable&color=blue)](https://github.com/orgs/suwayomi/packages/container/package/tachidesk/) | [![Preview](https://img.shields.io/badge/dynamic/json?url=https://github.com/suwayomi/docker-tachidesk/raw/main/scripts/tachidesk_version.json&label=version&query=$.preview&color=blue)](https://github.com/orgs/suwayomi/packages/container/package/tachidesk) | [![Discord](https://img.shields.io/discord/801021177333940224.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/DDZdqZWaHA) |
Run [Tachidesk-Server](https://github.com/Suwayomi/Tachidesk-Server) inside docker container as non-root user. The server will be running on http://localhost:4567 open this url in your browser.
@@ -17,42 +17,53 @@ Docker images are mutli-arch (linux/amd64, linux/arm/v7, linux/arm64, linux/ppc6
Logs are sent to stdout and are not written to disk.
### Docker compose
Use the template [docker-compose.yml](./docker-compose.yml) in this repo for creating and starting tachidesk docker container.
# Environment Variables
> [!NOTE]
> See [server-reference.conf](https://github.com/Suwayomi/Suwayomi-Server/blob/master/server/src/main/resources/server-reference.conf) in the [Suwayomi-Server](https://github.com/Suwayomi/Suwayomi-Server) repository for the default values
> [!Tip]
> Settings can be changed during runtime via the webUI.
> [!CAUTION]
> Providing an environment variable will overwrite the current value in the server.conf file.
There are a number of environment variables available to configure Suwayomi:
| Variable | Default | Description |
|:-:|:-:|:-:|
| **TZ** | `Etc/UTC` | What time zone the container thinks it is. |
| **BIND_IP** | `0.0.0.0` | The interface to listen on, inside the container. You almost never want to change this. |
| **BIND_PORT** | `4567` | Which port Suwayomi will listen on |
| **SOCKS_PROXY_ENABLED** | `false` | Whether Suwayomi will connect through a SOCKS5 proxy |
| **SOCKS_PROXY_HOST** | `""` | The TCP host of the SOCKS5 proxy |
| **SOCKS_PROXY_PORT** | `""` | The port of the SOCKS5 proxy |
| **DOWNLOAD_AS_CBZ** | `false` | Whether Suwayomi should save the manga to disk in CBZ format |
| **BASIC_AUTH_ENABLED** | `false` | Whether Suwayomi requires HTTP Basic Auth to get in. |
| **BASIC_AUTH_USERNAME** | `""` | The username to log in to Suwayomi. |
| **BASIC_AUTH_PASSWORD** | `""` | The password to log in to Suwayomi. |
| **DEBUG** | `true` | If extra logging is enabled. Useful for development and troubleshooting. |
| **GQL_DEBUG** | `false` | If graphql logging is enabled. Useful for development and troubleshooting. Can overload the log output. |
| **WEB_UI_FLAVOR** | `"WebUI"` | "WebUI" or "Custom" |
| **WEB_UI_CHANNEL** | `"stable"` | "bundled" (the version bundled with the server release), "stable" or "preview" - the webUI version that should be used |
| **WEB_UI_UPDATE_INTERVAL** | `23` | Time in hours - 0 to disable auto update - range: 1 <= n < 24 - how often the server should check for webUI updates |
| **AUTO_DOWNLOAD_CHAPTERS** | `false` | If new chapters that have been retrieved should get automatically downloaded |
| **AUTO_DOWNLOAD_EXCLUDE_UNREAD** | `true` | Ignore automatic chapter downloads of entries with unread chapters
| **AUTO_DOWNLOAD_AHEAD_LIMIT** | `0` | 0 to disable - how many unread downloaded chapters should be available - if the limit is reached, new chapters won't be downloaded automatically
| **EXTENSION_REPOS** | `"[]"` | Any additional extension repos to use, the format is `["https://github.com/MY_ACCOUNT/MY_REPO/tree/repo", "https://github.com/MY_ACCOUNT_2/MY_REPO_2/"]`
| **MAX_SOURCES_IN_PARALLEL** | `6` | Range: 1 <= n <= 20 - Sets how many sources can do requests (updates, downloads) in parallel. Updates/Downloads are grouped by source and all mangas of a source are updated/downloaded synchronously |
| **UPDATE_EXCLUDE_UNREAD** | `true` | If unread manga should be excluded from updates |
| **UPDATE_EXCLUDE_STARTED** | `true` | If manga that haven't been started should be excluded from updates |
| **UPDATE_EXCLUDE_COMPLETED** | `true` | If completed manga should be excluded from updates |
| **UPDATE_INTERVAL** | `12` | Time in hours - 0 to disable it - (doesn't have to be full hours e.g. 12.5) - range: 6 <= n < ∞ - Interval in which the global update will be automatically triggered |
| **UPDATE_MANGA_INFO** | `true` | If manga info should be updated along with the chapters |
| **BACKUP_TIME** | `"00:00"` | Range: hour: 0-23, minute: 0-59 - Time of day at which the automated backup should be triggered |
| **BACKUP_INTERVAL** | `1` | # Time in days - 0 to disable it - range: 1 <= n < ∞ - Interval in which the server will automatically create a backup |
| **BACKUP_TTL** | `14` | # Time in days - 0 to disable it - range: 1 <= n < ∞ - How long backup files will be kept before they will get deleted |
| Variable | Default | Description |
|:--------------------------------:|:---------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| **TZ** | `Etc/UTC` | What time zone the container thinks it is. |
| **BIND_IP** | `-` | The interface to listen on, inside the container. You almost never want to change this. |
| **BIND_PORT** | `-` | Which port Suwayomi will listen on |
| **SOCKS_PROXY_ENABLED** | `-` | Whether Suwayomi will connect through a SOCKS5 proxy |
| **SOCKS_PROXY_HOST** | `-` | The TCP host of the SOCKS5 proxy |
| **SOCKS_PROXY_PORT** | `-` | The port of the SOCKS5 proxy |
| **DOWNLOAD_AS_CBZ** | `-` | Whether Suwayomi should save the manga to disk in CBZ format |
| **BASIC_AUTH_ENABLED** | `-` | Whether Suwayomi requires HTTP Basic Auth to get in. |
| **BASIC_AUTH_USERNAME** | `-` | The username to log in to Suwayomi. |
| **BASIC_AUTH_PASSWORD** | `-` | The password to log in to Suwayomi. |
| **DEBUG** | `-` | If extra logging is enabled. Useful for development and troubleshooting. |
| **GQL_DEBUG** | `-` | If graphql logging is enabled. Useful for development and troubleshooting. Can overload the log output. |
| **WEB_UI_ENABLED** | `-` | If the server should serve a webUI |
| **WEB_UI_FLAVOR** | `-` | "WebUI" or "Custom" |
| **WEB_UI_CHANNEL** | `-` | "bundled" (the version bundled with the server release), "stable" or "preview" - the webUI version that should be used |
| **WEB_UI_UPDATE_INTERVAL** | `-` | Time in hours - 0 to disable auto update - range: 1 <= n < 24 - how often the server should check for webUI updates |
| **AUTO_DOWNLOAD_CHAPTERS** | `-` | If new chapters that have been retrieved should get automatically downloaded |
| **AUTO_DOWNLOAD_EXCLUDE_UNREAD** | `-` | Ignore automatic chapter downloads of entries with unread chapters |
| **AUTO_DOWNLOAD_AHEAD_LIMIT** | `-` | 0 to disable - how many unread downloaded chapters should be available - if the limit is reached, new chapters won't be downloaded automatically |
| **EXTENSION_REPOS** | `-` | Any additional extension repos to use, the format is `["https://github.com/MY_ACCOUNT/MY_REPO/tree/repo", "https://github.com/MY_ACCOUNT_2/MY_REPO_2/"]` |
| **MAX_SOURCES_IN_PARALLEL** | `-` | Range: 1 <= n <= 20 - Sets how many sources can do requests (updates, downloads) in parallel. Updates/Downloads are grouped by source and all mangas of a source are updated/downloaded synchronously |
| **UPDATE_EXCLUDE_UNREAD** | `-` | If unread manga should be excluded from updates |
| **UPDATE_EXCLUDE_STARTED** | `-` | If manga that haven't been started should be excluded from updates |
| **UPDATE_EXCLUDE_COMPLETED** | `-` | If completed manga should be excluded from updates |
| **UPDATE_INTERVAL** | `-` | Time in hours - 0 to disable it - (doesn't have to be full hours e.g. 12.5) - range: 6 <= n < ∞ - Interval in which the global update will be automatically triggered |
| **UPDATE_MANGA_INFO** | `-` | If manga info should be updated along with the chapters |
| **BACKUP_TIME** | `-` | Range: hour: 0-23, minute: 0-59 - Time of day at which the automated backup should be triggered |
| **BACKUP_INTERVAL** | `-` | # Time in days - 0 to disable it - range: 1 <= n < ∞ - Interval in which the server will automatically create a backup |
| **BACKUP_TTL** | `-` | # Time in days - 0 to disable it - range: 1 <= n < ∞ - How long backup files will be kept before they will get deleted |
# Docker tags

View File

@@ -0,0 +1,14 @@
#!/bin/bash
# exit early in case the file already exists
if [ -f /home/suwayomi/.local/share/Tachidesk/server.conf ]; then
exit 0
fi
mkdir -p /home/suwayomi/.local/share/Tachidesk
# extract the server reference config from the jar
unzip -q -j /home/suwayomi/startup/tachidesk_latest.jar "server-reference.conf" -d /home/suwayomi/startup
# move and rename the reference config
mv /home/suwayomi/startup/server-reference.conf /home/suwayomi/.local/share/Tachidesk/server.conf

View File

@@ -5,36 +5,65 @@ set -e
echo "Suwayomi data location inside the container: /home/suwayomi/.local/share/Tachidesk"
# make sure the server.conf file exists
/home/suwayomi/create_server_conf.sh
# set default values for environment variables:
export TZ="${TZ:-Etc/UTC}"
export BIND_IP="${BIND_IP:-0.0.0.0}"
export BIND_PORT="${BIND_PORT:-4567}"
export SOCKS_PROXY_ENABLED="${SOCKS_PROXY_ENABLED:-false}"
export SOCKS_PROXY_HOST="${SOCKS_PROXY_HOST:-""}"
export SOCKS_PROXY_PORT="${SOCKS_PROXY_PORT:-""}"
export DOWNLOAD_AS_CBZ="${DOWNLOAD_AS_CBZ:-false}"
export BASIC_AUTH_ENABLED="${BASIC_AUTH_ENABLED:-false}"
export BASIC_AUTH_USERNAME="${BASIC_AUTH_USERNAME:-""}"
export BASIC_AUTH_PASSWORD="${BASIC_AUTH_PASSWORD:-""}"
export DEBUG="${DEBUG:-true}"
export GQL_DEBUG="${GQL_DEBUG:-false}"
export WEB_UI_FLAVOR="${WEB_UI_FLAVOR:-"WebUI"}"
export WEB_UI_CHANNEL="${WEB_UI_CHANNEL:-"stable"}"
export WEB_UI_UPDATE_INTERVAL="${WEB_UI_UPDATE_INTERVAL:-23}"
export AUTO_DOWNLOAD_CHAPTERS="${AUTO_DOWNLOAD_CHAPTERS:-false}"
export AUTO_DOWNLOAD_EXCLUDE_UNREAD="${AUTO_DOWNLOAD_EXCLUDE_UNREAD:-true}"
export AUTO_DOWNLOAD_AHEAD_LIMIT="${AUTO_DOWNLOAD_AHEAD_LIMIT:-0}"
export MAX_SOURCES_IN_PARALLEL="${MAX_SOURCES_IN_PARALLEL:-6}"
export UPDATE_EXCLUDE_UNREAD="${UPDATE_EXCLUDE_UNREAD:-true}"
export UPDATE_EXCLUDE_STARTED="${UPDATE_EXCLUDE_STARTED:-true}"
export UPDATE_EXCLUDE_COMPLETED="${UPDATE_EXCLUDE_COMPLETED:-true}"
export UPDATE_INTERVAL="${UPDATE_INTERVAL:-12}"
export UPDATE_MANGA_INFO="${UPDATE_MANGA_INFO:-false}"
export BACKUP_TIME="${BACKUP_TIME:-"00:00"}"
export BACKUP_INTERVAL="${BACKUP_INTERVAL:-1}"
export BACKUP_TTL="${BACKUP_TTL:-14}"
export EXTENSION_REPOS="${EXTENSION_REPOS:-"[]"}"
envsubst < /home/suwayomi/server.conf.template > /home/suwayomi/.local/share/Tachidesk/server.conf
# Set default values for settings
sed -i -r "s/server.initialOpenInBrowserEnabled = (.*)/server.initialOpenInBrowserEnabled = false/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.systemTrayEnabled = (.*)/server.systemTrayEnabled = false/" /home/suwayomi/.local/share/Tachidesk/server.conf
# Overwrite configuration values with environment variables
# Server ip and port bindings
sed -i -r "s/server.ip = \"(.*)\"/server.ip = \"${BIND_IP:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.port = (.*)/server.port = ${BIND_PORT:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# Socks5 proxy
sed -i -r "s/server.socksProxyEnabled = (.*)/server.socksProxyEnabled = ${SOCKS_PROXY_ENABLED:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.socksProxyHost = \"(.*)\"/server.socksProxyHost = \"${SOCKS_PROXY_HOST:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.socksProxyPort = \"(.*)\"/server.socksProxyPort = \"${SOCKS_PROXY_PORT:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
# webUI
sed -i -r "s/server.webUIEnabled = (.*)/server.webUIEnabled = ${WEB_UI_EABLED:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.webUIFlavor = \"(.*)\"/server.webUIFlavor = \"${WEB_UI_FLAVOR:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.webUIChannel = \"(.*)\"/server.webUIChannel = \"${WEB_UI_CHANNEL:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.webUIUpdateCheckInterval = (.*)/server.webUIUpdateCheckInterval = ${WEB_UI_UPDATE_INTERVAL:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# downloader
sed -i -r "s/server.downloadAsCbz = (.*)/server.downloadAsCbz = ${DOWNLOAD_AS_CBZ:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.autoDownloadNewChapters = (.*)/server.autoDownloadNewChapters = ${AUTO_DOWNLOAD_CHAPTERS:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.excludeEntryWithUnreadChapters = (.*)/server.excludeEntryWithUnreadChapters = ${AUTO_DOWNLOAD_EXCLUDE_UNREAD:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.autoDownloadAheadLimit = (.*)/server.autoDownloadAheadLimit = ${AUTO_DOWNLOAD_AHEAD_LIMIT:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# extension repos
if [ -n "$EXTENSION_REPOS" ]; then
perl -0777 -i -pe 's/server\.extensionRepos = (\[.*\])/server.extensionRepos = $ENV{EXTENSION_REPOS}/gs' /home/suwayomi/.local/share/Tachidesk/server.conf
fi
# requests
sed -i -r "s/server.maxSourcesInParallel = (.*)/server.maxSourcesInParallel = ${MAX_SOURCES_IN_PARALLEL:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# updater
sed -i -r "s/server.excludeUnreadChapters = (.*)/server.excludeUnreadChapters = ${UPDATE_EXCLUDE_UNREAD:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.excludeNotStarted = (.*)/server.excludeNotStarted = ${UPDATE_EXCLUDE_STARTED:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.excludeCompleted = (.*)/server.excludeCompleted = ${UPDATE_EXCLUDE_COMPLETED:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.globalUpdateInterval = (.*)/server.globalUpdateInterval = ${UPDATE_INTERVAL:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.updateMangas = (.*)/server.updateMangas = ${UPDATE_MANGA_INFO:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# Authentication
sed -i -r "s/server.basicAuthEnabled = (.*)/server.basicAuthEnabled = ${BASIC_AUTH_ENABLED:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.basicAuthUsername = \"(.*)\"/server.basicAuthUsername = \"${BASIC_AUTH_USERNAME:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.basicAuthPassword = \"(.*)\"/server.basicAuthPassword = \"${BASIC_AUTH_PASSWORD:-\1}\"/" /home/suwayomi/.local/share/Tachidesk/server.conf
# misc
sed -i -r "s/server.debugLogsEnabled = (.*)/server.debugLogsEnabled = ${DEBUG:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.gqlDebugLogsEnabled = (.*)/server.gqlDebugLogsEnabled = ${GQL_DEBUG:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
# backup
sed -i -r "s/server.backupTime = (.*)/server.backupTime = ${BACKUP_TIME:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.backupInterval = (.*)/server.backupInterval = ${BACKUP_INTERVAL:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
sed -i -r "s/server.backupTTL = (.*)/server.backupTTL = ${BACKUP_TTL:-\1}/" /home/suwayomi/.local/share/Tachidesk/server.conf
exec java -Duser.home=/home/suwayomi -jar "/home/suwayomi/startup/tachidesk_latest.jar";

View File

@@ -1,56 +0,0 @@
# Server ip and port bindings
server.ip = "${BIND_IP}"
server.port = ${BIND_PORT}
# Socks5 proxy
server.socksProxyEnabled = ${SOCKS_PROXY_ENABLED}
server.socksProxyHost = "${SOCKS_PROXY_HOST}"
server.socksProxyPort = "${SOCKS_PROXY_PORT}"
# webUI
server.webUIEnabled = true
server.webUIFlavor = "${WEB_UI_FLAVOR}" # "WebUI" or "Custom"
server.initialOpenInBrowserEnabled = false
server.webUIInterface = "browser" # "browser" or "electron"
server.electronPath = ""
server.webUIChannel = "${WEB_UI_CHANNEL}" # "bundled" (the version bundled with the server release), "stable" or "preview" - the webUI version that should be used
server.webUIUpdateCheckInterval = ${WEB_UI_UPDATE_INTERVAL} # time in hours - 0 to disable auto update - range: 1 <= n < 24 - default 23 hours - how often the server should check for webUI updates
# downloader
server.downloadAsCbz = ${DOWNLOAD_AS_CBZ}
server.downloadsPath = ""
server.autoDownloadNewChapters = ${AUTO_DOWNLOAD_CHAPTERS} # if new chapters that have been retrieved should get automatically downloaded
server.excludeEntryWithUnreadChapters = ${AUTO_DOWNLOAD_EXCLUDE_UNREAD} # ignore automatic chapter downloads of entries with unread chapters
server.autoDownloadAheadLimit = ${AUTO_DOWNLOAD_AHEAD_LIMIT} # 0 to disable it - how many unread downloaded chapters should be available - if the limit is reached, new chapters won't be downloaded automatically
# extension
server.extensionRepos = ${EXTENSION_REPOS}
# requests
server.maxSourcesInParallel = ${MAX_SOURCES_IN_PARALLEL} # range: 1 <= n <= 20 - default: 6 - sets how many sources can do requests (updates, downloads) in parallel. updates/downloads are grouped by source and all mangas of a source are updated/downloaded synchronously
# updater
server.excludeUnreadChapters = ${UPDATE_EXCLUDE_UNREAD}
server.excludeNotStarted = ${UPDATE_EXCLUDE_STARTED}
server.excludeCompleted = ${UPDATE_EXCLUDE_COMPLETED}
server.globalUpdateInterval = ${UPDATE_INTERVAL} # time in hours - 0 to disable it - (doesn't have to be full hours e.g. 12.5) - range: 6 <= n < ∞ - default: 12 hours - interval in which the global update will be automatically triggered
server.updateMangas = ${UPDATE_MANGA_INFO}
# Authentication
server.basicAuthEnabled = ${BASIC_AUTH_ENABLED}
server.basicAuthUsername = "${BASIC_AUTH_USERNAME}"
server.basicAuthPassword = "${BASIC_AUTH_PASSWORD}"
# misc
server.debugLogsEnabled = ${DEBUG}
server.gqlDebugLogsEnabled = ${GQL_DEBUG}
server.systemTrayEnabled = false
# backup
server.backupPath = ""
server.backupTime = "${BACKUP_TIME}" # range: hour: 0-23, minute: 0-59 - default: "00:00" - time of day at which the automated backup should be triggered
server.backupInterval = ${BACKUP_INTERVAL} # time in days - 0 to disable it - range: 1 <= n < ∞ - default: 1 day - interval in which the server will automatically create a backup
server.backupTTL = ${BACKUP_TTL} # time in days - 0 to disable it - range: 1 <= n < ∞ - default: 14 days - how long backup files will be kept before they will get deleted
# local source
server.localSourcePath = ""