diff --git a/Dockerfile b/Dockerfile index f4d4d78..a83e82c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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) diff --git a/README.md b/README.md index a9c092f..aa68149 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/scripts/create_server_conf.sh b/scripts/create_server_conf.sh new file mode 100644 index 0000000..be72921 --- /dev/null +++ b/scripts/create_server_conf.sh @@ -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 diff --git a/scripts/startup_script.sh b/scripts/startup_script.sh index d1e9bf1..328c9e7 100755 --- a/scripts/startup_script.sh +++ b/scripts/startup_script.sh @@ -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"; diff --git a/server.conf.template b/server.conf.template deleted file mode 100644 index 7242265..0000000 --- a/server.conf.template +++ /dev/null @@ -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 = ""