mirror of
https://github.com/Suwayomi/docker-tachidesk.git
synced 2025-12-10 06:42:12 +01:00
Add support for new auth variables
This commit is contained in:
17
.github/workflows/container.yml
vendored
17
.github/workflows/container.yml
vendored
@@ -117,11 +117,15 @@ jobs:
|
|||||||
-e SOCKS_PROXY_ENABLED=false \
|
-e SOCKS_PROXY_ENABLED=false \
|
||||||
-e SOCKS_PROXY_HOST=socks_host \
|
-e SOCKS_PROXY_HOST=socks_host \
|
||||||
-e SOCKS_PROXY_PORT=socks_port \
|
-e SOCKS_PROXY_PORT=socks_port \
|
||||||
|
-e DOWNLOAD_AS_CBZ=true \
|
||||||
|
-e AUTH_MODE=basic_auth \
|
||||||
|
-e AUTH_USERNAME=manga \
|
||||||
|
-e AUTH_PASSWORD=hello123 \
|
||||||
|
-e DEBUG=true \
|
||||||
-e WEB_UI_ENABLED=true \
|
-e WEB_UI_ENABLED=true \
|
||||||
-e WEB_UI_FLAVOR=WebUI \
|
-e WEB_UI_FLAVOR=WebUI \
|
||||||
-e WEB_UI_CHANNEL=preview \
|
-e WEB_UI_CHANNEL=preview \
|
||||||
-e WEB_UI_UPDATE_INTERVAL=2 \
|
-e WEB_UI_UPDATE_INTERVAL=2 \
|
||||||
-e DOWNLOAD_AS_CBZ=true \
|
|
||||||
-e AUTO_DOWNLOAD_CHAPTERS=true \
|
-e AUTO_DOWNLOAD_CHAPTERS=true \
|
||||||
-e AUTO_DOWNLOAD_EXCLUDE_UNREAD=false \
|
-e AUTO_DOWNLOAD_EXCLUDE_UNREAD=false \
|
||||||
-e AUTO_DOWNLOAD_NEW_CHAPTERS_LIMIT=5 \
|
-e AUTO_DOWNLOAD_NEW_CHAPTERS_LIMIT=5 \
|
||||||
@@ -133,10 +137,6 @@ jobs:
|
|||||||
-e UPDATE_EXCLUDE_COMPLETED=false \
|
-e UPDATE_EXCLUDE_COMPLETED=false \
|
||||||
-e UPDATE_INTERVAL=30 \
|
-e UPDATE_INTERVAL=30 \
|
||||||
-e UPDATE_MANGA_INFO=true \
|
-e UPDATE_MANGA_INFO=true \
|
||||||
-e BASIC_AUTH_ENABLED=true \
|
|
||||||
-e BASIC_AUTH_USERNAME=manga \
|
|
||||||
-e BASIC_AUTH_PASSWORD=hello123 \
|
|
||||||
-e DEBUG=true \
|
|
||||||
-e BACKUP_TIME=13:37 \
|
-e BACKUP_TIME=13:37 \
|
||||||
-e BACKUP_INTERVAL=2 \
|
-e BACKUP_INTERVAL=2 \
|
||||||
-e BACKUP_TTL=31 \
|
-e BACKUP_TTL=31 \
|
||||||
@@ -145,6 +145,13 @@ jobs:
|
|||||||
-e FLARESOLVERR_TIMEOUT=30 \
|
-e FLARESOLVERR_TIMEOUT=30 \
|
||||||
-e FLARESOLVERR_SESSION_NAME=session-name \
|
-e FLARESOLVERR_SESSION_NAME=session-name \
|
||||||
-e FLARESOLVERR_SESSION_TTL=120 \
|
-e FLARESOLVERR_SESSION_TTL=120 \
|
||||||
|
-e OPDS_USE_BINARY_FILE_SIZES=true \
|
||||||
|
-e OPDS_ITEMS_PER_PAGE=51 \
|
||||||
|
-e OPDS_ENABLE_PAGE_READ_PROGRESS=false \
|
||||||
|
-e OPDS_MARK_AS_READ_ON_DOWNLOAD=true \
|
||||||
|
-e OPDS_SHOW_ONLY_UNREAD_CHAPTERS=true \
|
||||||
|
-e OPDS_SHOW_ONLY_DOWNLOADED_CHAPTERS=true \
|
||||||
|
-e OPDS_CHAPTER_SORT_ORDER=ASC \
|
||||||
--name=suwayomi_test \
|
--name=suwayomi_test \
|
||||||
${{ env.test_image_tag }}
|
${{ env.test_image_tag }}
|
||||||
sleep 15
|
sleep 15
|
||||||
|
|||||||
86
README.md
86
README.md
@@ -35,49 +35,49 @@ Use the template [docker-compose.yml](./docker-compose.yml) in this repo for cre
|
|||||||
|
|
||||||
There are a number of environment variables available to configure Suwayomi:
|
There are a number of environment variables available to configure Suwayomi:
|
||||||
|
|
||||||
| Variable | Server Default | Description |
|
| Variable | Server Default | Description |
|
||||||
|:------------------------------------:|:-----------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|:--------------------------------------:|:-----------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
||||||
| **TZ** | `Etc/UTC` | What time zone the container thinks it is. |
|
| **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_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 |
|
| **BIND_PORT** | `4567` | Which port Suwayomi will listen on |
|
||||||
| **SOCKS_PROXY_ENABLED** | `false` | Whether Suwayomi will connect through a SOCKS5 proxy |
|
| **SOCKS_PROXY_ENABLED** | `false` | Whether Suwayomi will connect through a SOCKS5 proxy |
|
||||||
| **SOCKS_PROXY_HOST** | ` ` | The TCP host of the SOCKS5 proxy |
|
| **SOCKS_PROXY_HOST** | ` ` | The TCP host of the SOCKS5 proxy |
|
||||||
| **SOCKS_PROXY_PORT** | ` ` | The port 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 |
|
| **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. |
|
| **AUTH_MODE** | `none` | Whether Suwayomi requires a login to get in. `none` or `basic_auth` or `simple_login` |
|
||||||
| **BASIC_AUTH_USERNAME** | ` ` | The username to log in to Suwayomi. |
|
| **AUTH_USERNAME** | ` ` | The username to log in to Suwayomi. |
|
||||||
| **BASIC_AUTH_PASSWORD** | ` ` | The password to log in to Suwayomi. |
|
| **AUTH_PASSWORD** | ` ` | The password to log in to Suwayomi. |
|
||||||
| **DEBUG** | `false` | If extra logging is enabled. Useful for development and troubleshooting. |
|
| **DEBUG** | `false` | If extra logging is enabled. Useful for development and troubleshooting. |
|
||||||
| **WEB_UI_ENABLED** | `true` | If the server should serve a webUI |
|
| **WEB_UI_ENABLED** | `true` | If the server should serve a webUI |
|
||||||
| **WEB_UI_FLAVOR** | `WebUI` | "WebUI" or "Custom" |
|
| **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_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 |
|
| **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_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_EXCLUDE_UNREAD** | `true` | Ignore automatic chapter downloads of entries with unread chapters |
|
||||||
| **AUTO_DOWNLOAD_NEW_CHAPTERS_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 |
|
| **AUTO_DOWNLOAD_NEW_CHAPTERS_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 |
|
||||||
| **AUTO_DOWNLOAD_IGNORE_REUPLOADS** | `false` | Decides if re-uploads should be ignored during auto download of new chapters chapters |
|
| **AUTO_DOWNLOAD_IGNORE_REUPLOADS** | `false` | Decides if re-uploads should be ignored during auto download of new chapters chapters |
|
||||||
| **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/"]` |
|
| **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 |
|
| **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_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_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_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_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** | `false` | If manga info should be updated along with the chapters |
|
| **UPDATE_MANGA_INFO** | `false` | 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_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_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 |
|
| **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 |
|
||||||
| **FLARESOLVERR_ENABLED** | `false` | Whether FlareSolverr is enabled and available to use |
|
| **FLARESOLVERR_ENABLED** | `false` | Whether FlareSolverr is enabled and available to use |
|
||||||
| **FLARESOLVERR_URL** | `http://localhost:8191` | The URL of the FlareSolverr instance |
|
| **FLARESOLVERR_URL** | `http://localhost:8191` | The URL of the FlareSolverr instance |
|
||||||
| **FLARESOLVERR_TIMEOUT** | `60` | Time in seconds for FlareSolverr to timeout if the challenge is not solved |
|
| **FLARESOLVERR_TIMEOUT** | `60` | Time in seconds for FlareSolverr to timeout if the challenge is not solved |
|
||||||
| **FLARESOLVERR_SESSION_NAME** | `suwayomi` | The name of the session that Suwayomi will use with FlareSolverr |
|
| **FLARESOLVERR_SESSION_NAME** | `suwayomi` | The name of the session that Suwayomi will use with FlareSolverr |
|
||||||
| **FLARESOLVERR_SESSION_TTL** | `15` | The time to live for the FlareSolverr session |
|
| **FLARESOLVERR_SESSION_TTL** | `15` | The time to live for the FlareSolverr session |
|
||||||
| **OPDS_USE_BINARY_FILE_SIZES** | `false` | If the file sizes should be displayed in binary (KiB, MiB, GiB) or decimal (KB, MB, GB) |
|
| **OPDS_USE_BINARY_FILE_SIZES** | `false` | If the file sizes should be displayed in binary (KiB, MiB, GiB) or decimal (KB, MB, GB) |
|
||||||
| **OPDS_ITEMS_PER_PAGE** | `50` | How many items to show on a page - 10 <= n < 5000 |
|
| **OPDS_ITEMS_PER_PAGE** | `50` | How many items to show on a page - 10 <= n < 5000 |
|
||||||
| **OPDS_ENABLE_PAGE_READ_PROGRESS** | `true` | Track and update your reading progress by page for each chapter during page streaming |
|
| **OPDS_ENABLE_PAGE_READ_PROGRESS** | `true` | Track and update your reading progress by page for each chapter during page streaming |
|
||||||
| **OPDS_MARK_AS_READ_ON_DOWNLOAD** | `false` | Automatically mark chapters as read when you download them |
|
| **OPDS_MARK_AS_READ_ON_DOWNLOAD** | `false` | Automatically mark chapters as read when you download them |
|
||||||
| **OPDS_SHOW_ONLY_UNREAD_CHAPTERS** | `false` | Filter manga feed to display only chapters you haven't read |
|
| **OPDS_SHOW_ONLY_UNREAD_CHAPTERS** | `false` | Filter manga feed to display only chapters you haven't read |
|
||||||
| **OPDS_SHOW_ONLY_DOWNLOADED_CHAPTERS** | `false` | Filter manga feed to display only chapters you have downloaded |
|
| **OPDS_SHOW_ONLY_DOWNLOADED_CHAPTERS** | `false` | Filter manga feed to display only chapters you have downloaded |
|
||||||
| **OPDS_CHAPTER_SORT_ORDER** | `DESC` | "DESC" or "ASC" |
|
| **OPDS_CHAPTER_SORT_ORDER** | `DESC` | "DESC" or "ASC" |
|
||||||
|
|
||||||
### Downloads Folder
|
### Downloads Folder
|
||||||
We do not allow configuration of the downloads folder, since Docker Volumes can handle that instead, here is an example of a docker-compose.yaml that has downloads volume configuration:
|
We do not allow configuration of the downloads folder, since Docker Volumes can handle that instead, here is an example of a docker-compose.yaml that has downloads volume configuration:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ version: '3.7'
|
|||||||
services:
|
services:
|
||||||
suwayomi:
|
suwayomi:
|
||||||
image: ghcr.io/suwayomi/suwayomi-server:preview
|
image: ghcr.io/suwayomi/suwayomi-server:preview
|
||||||
|
# user: 1000:1000
|
||||||
environment:
|
environment:
|
||||||
- TZ=Etc/UTC # Use TZ database name from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
- TZ=Etc/UTC # Use TZ database name from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
# Comment these out if you do not use the flaresolverr container at the bottom of this file
|
# Comment these out if you do not use the flaresolverr container at the bottom of this file
|
||||||
@@ -22,9 +23,9 @@ services:
|
|||||||
# - BIND_PORT=4567
|
# - BIND_PORT=4567
|
||||||
# - SOCKS_PROXY_ENABLED=false
|
# - SOCKS_PROXY_ENABLED=false
|
||||||
# - DOWNLOAD_AS_CBZ=true
|
# - DOWNLOAD_AS_CBZ=true
|
||||||
# - BASIC_AUTH_ENABLED=true
|
# - AUTH_MODE=basic_auth
|
||||||
# - BASIC_AUTH_USERNAME=manga
|
# - AUTH_USERNAME=manga
|
||||||
# - BASIC_AUTH_PASSWORD=hello123
|
# - AUTH_PASSWORD=hello123
|
||||||
# - EXTENSION_REPOS=["http://github.com/orginazation-name/repo-name", "http://github.com/orginazation-name-2/repo-name-2"]
|
# - EXTENSION_REPOS=["http://github.com/orginazation-name/repo-name", "http://github.com/orginazation-name-2/repo-name-2"]
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/home/suwayomi/.local/share/Tachidesk
|
- ./data:/home/suwayomi/.local/share/Tachidesk
|
||||||
|
|||||||
@@ -60,6 +60,13 @@ sed -i -r "s/server.globalUpdateInterval = ([0-9]+|[a-zA-Z]+)( #)?/server.global
|
|||||||
sed -i -r "s/server.updateMangas = ([0-9]+|[a-zA-Z]+)( #)?/server.updateMangas = ${UPDATE_MANGA_INFO:-\1} #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
sed -i -r "s/server.updateMangas = ([0-9]+|[a-zA-Z]+)( #)?/server.updateMangas = ${UPDATE_MANGA_INFO:-\1} #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
||||||
|
|
||||||
# Authentication
|
# Authentication
|
||||||
|
AUTH_MODE_VAL="${AUTH_MODE:-$( [ "$BASIC_AUTH_ENABLED" = "true" ] && echo 'basic_auth' )}"
|
||||||
|
AUTH_USERNAME_VAL="${AUTH_USERNAME:-$BASIC_AUTH_USERNAME}"
|
||||||
|
AUTH_PASSWORD_VAL="${AUTH_PASSWORD:-$BASIC_AUTH_PASSWORD}"
|
||||||
|
sed -i -r "s/server.authMode = \"(.*?)\"( #)?/server.authMode = ${AUTH_MODE_VAL:-\1} #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
||||||
|
sed -i -r "s/server.authUsername = \"(.*?)\"( #)?/server.authUsername = \"${AUTH_USERNAME_VAL:-\1}\" #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
||||||
|
sed -i -r "s/server.authPassword = \"(.*?)\"( #)?/server.authPassword = \"${AUTH_PASSWORD_VAL:-\1}\" #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
||||||
|
|
||||||
sed -i -r "s/server.basicAuthEnabled = ([0-9]+|[a-zA-Z]+)( #)?/server.basicAuthEnabled = ${BASIC_AUTH_ENABLED:-\1} #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
sed -i -r "s/server.basicAuthEnabled = ([0-9]+|[a-zA-Z]+)( #)?/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.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
|
sed -i -r "s/server.basicAuthPassword = \"(.*?)\"( #)?/server.basicAuthPassword = \"${BASIC_AUTH_PASSWORD:-\1}\" #/" /home/suwayomi/.local/share/Tachidesk/server.conf
|
||||||
|
|||||||
Reference in New Issue
Block a user