diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index 2af02f7c..24b4b05d 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -95,3 +95,26 @@ jobs: exit "$ecode" fi exit 0 + + check_docs: + name: Validate that all options are documented + runs-on: ubuntu-latest + + steps: + - name: Clone repo + uses: actions/checkout@v6 + + - name: Validate all options are documented + run: | + f="`cat ./server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt | + awk -F' ' 'BEGIN{prev=""}{if ($3 ~ "Mutable" && !(prev ~ "@Deprecated")) print "server." substr($2, 1, length($2)-1); prev=$0}' | + while read -r setting; do + if ! grep "$setting" ./docs/Configuring-Suwayomi‐Server.md >/dev/null; then + echo "Setting $setting not documented" >&2 + echo ":" + fi + done`" + if [ -n "$f" ]; then + exit 1 + fi + diff --git a/docs/Configuring-Suwayomi‐Server.md b/docs/Configuring-Suwayomi‐Server.md index b644129b..77bc281c 100644 --- a/docs/Configuring-Suwayomi‐Server.md +++ b/docs/Configuring-Suwayomi‐Server.md @@ -51,6 +51,7 @@ server.electronPath = "" server.webUIFlavor = "WebUI" # "WebUI" or "Custom" server.webUIChannel = preview # "BUNDLED" or "STABLE" or "PREVIEW" server.webUIUpdateCheckInterval = 23 +server.webUISubpath = "" ``` - `server.webUIEnabled` controls if Suwayomi will serve `Suwayomi-WebUI` and if it downloads/updates it on startup. - `server.initialOpenInBrowserEnabled` controls if Suwayomi will attempt to open a brwoser/electron window on startup, disabling this on headless servers is recommended. @@ -60,6 +61,7 @@ server.webUIUpdateCheckInterval = 23 - Note: "Custom" would be useful if you want to test preview versions of Suwayomi-WebUI or when you are using or developing other web interfaces like the web version of Suwayomi-Sorayomi. - `server.webUIChannel` allows to choose which update channel to use (only valid when flavor is set to "WebUI"). Use `"BUNDLED"` to use the version included in the server download, `"STABLE"` to use the latest stable release or `"PREVIEW"` to use the latest preview release (potentially buggy). - `server.webUIUpdateCheckInterval` the interval time in hours at which to check for updates. Use `0` to disable update checking. +- `server.webUISubpath` controls on which sub-path the UI is served; by default, it will be accessible on `/` (i.e. directly), with this setting it can also be set to appear at e.g. `/suwayomi` ### Downloader ``` @@ -166,11 +168,25 @@ server.backupPath = "" server.backupTime = "00:00" server.backupInterval = 1 server.backupTTL = 14 +server.autoBackupIncludeManga = true +server.autoBackupIncludeCategories = true +server.autoBackupIncludeChapters = true +server.autoBackupIncludeTracking = true +server.autoBackupIncludeHistory = true +server.autoBackupIncludeClientData = true +server.autoBackupIncludeServerSettings = true ``` - `server.backupPath = ""` the path where backups will be stored, if the value is empty, the default directory `backups` inside [the data directory](https://github.com/Suwayomi/Suwayomi-Server/wiki/The-Data-Directory) will be used. If you are on Windows the slashes `\` needs to be doubled(`\\`) or replaced with `/` - `server.backupTime = "00:00"` sets the time of day at which the automated backup should be triggered. - `server.backupInterval = 1` sets the interval in which the server will automatically create a backup in days, `0` to disable it. - `server.backupTTL = 14` sets how long backup files will be kept before they will get deleted in days, `0` to disable it. +- `server.autoBackupIncludeManga` whether to include manga data in automatic backups +- `server.autoBackupIncludeCategories` whether to include category data in automatic backups +- `server.autoBackupIncludeChapters` whether to include manga chapter data in automatic backups +- `server.autoBackupIncludeTracking` whether to include manga tracking data in automatic backups +- `server.autoBackupIncludeHistory` whether to include manga reading history in automatic backups +- `server.autoBackupIncludeClientData` whether to include client data in automatic backups +- `server.autoBackupIncludeServerSettings` whether to include server settings in automatic backups ### Local Source ```