Suwayomi-Server Docker Container

June 27, 2026 · View on GitHub

StatusStablePreviewDiscord Support
Build Docker ImagesLatestPreviewDiscord

Run Suwayomi-Server inside docker container as non-root user. The server will be running on http://localhost:4567 open this url in your browser.

Docker Releases - https://github.com/Suwayomi/Suwayomi-Server-docker/pkgs/container/suwayomi-server

Dockerfile - https://github.com/Suwayomi/Suwayomi-Server-docker

Suwayomi data location - /home/suwayomi/.local/share/Tachidesk

Docker images are mutli-arch (linux/amd64, linux/arm64/v8, linux/ppc64le, linux/s390x, linux/riscv64) and has small size based on Ubuntu linux.

Logs are sent to stdout. This allows docker to manage the logs; view them using docker logs --tail=1000 <container name> or if using the docker-compose file docker compose logs --tail=1000 suwayomi. By default, docker stores logs indefinitely, you can set up logging globally or edit the compose file with a logging driver.

Docker compose

Use the template docker-compose.yml in this repo for creating and starting tachidesk docker container.

Podman Quadlet

Use the template suwayomi-server.container in this repo for creating and starting Suwayomi as a rootless Podman container.

Environment Variables

Caution

Providing an environment variable will overwrite the current setting value when starting the container.

Tip

Most of the time you don't need to use environment variables, instead settings can be changed during runtime via the webUI. (which will be rendered useless when providing an environment variable)

Tip

Passwords can be provided as files, by appending _FILE to the variable name. For example, you can set SOCKS_PROXY_PASSWORD_FILE=/path/to/myfile to have Suwayomi use the content of "myfile" as socks proxy password.

Note

See server-reference.conf in the Suwayomi-Server repository for the default values

There are a number of environment variables available to configure Suwayomi:

VariableServer DefaultDescription
TZEtc/UTCWhat time zone the container thinks it is.
BIND_IP0.0.0.0The interface to listen on, inside the container. You almost never want to change this.
BIND_PORT4567Which port Suwayomi will listen on
SOCKS_PROXY_ENABLEDfalseWhether Suwayomi will connect through a SOCKS5 proxy
SOCKS_PROXY_VERSION5The version of the SOCKS proxy
SOCKS_PROXY_HOST The TCP host of the SOCKS proxy
SOCKS_PROXY_PORT The port of the SOCKS proxy
SOCKS_PROXY_USERNAME The username to log in to the SOCKS proxy
SOCKS_PROXY_PASSWORD The password to log in to the SOCKS proxy
DOWNLOAD_AS_CBZfalseWhether Suwayomi should save the manga to disk in CBZ format
AUTH_MODEnoneWhether Suwayomi requires a login to get in. none or basic_auth or simple_login or ui_login
AUTH_USERNAME The username to log in to Suwayomi
AUTH_PASSWORD The password to log in to Suwayomi
JWT_AUDIENCEsuwayomi-server-apiThe JWT Audience of the ui_login token
JWT_TOKEN_EXPIRY5mThe JWT access token expiry timeout, in ISO-8601 Duration format
JWT_REFRESH_EXPIRY60dThe JWT refresh token expiry timeout, in ISO-8601 Duration format
DEBUGfalseIf extra logging is enabled. Useful for development and troubleshooting.
MAX_LOG_FILES31The max number of days to keep files before they get deleted
MAX_LOG_FILE_SIZE10mbThe max size of a log file - Possible values: 1 (bytes), 1KB (kilobytes), 1MB (megabytes), 1GB (gigabytes)
MAX_LOG_FOLDER_SIZE100mbThe max size of all saved log files - Possible values: 1 (bytes), 1KB (kilobytes), 1MB (megabytes), 1GB (gigabytes)
WEB_UI_ENABLEDtrueIf the server should serve a webUI
WEB_UI_FLAVORWebUIWebUI or Custom
WEB_UI_CHANNELstable"bundled" (the version bundled with the server release), "stable" or "preview" - the webUI version that should be used
WEB_UI_UPDATE_INTERVAL23Time in hours - 0 to disable auto update - range: 1 <= n < 24 - how often the server should check for webUI updates
AUTO_DOWNLOAD_CHAPTERSfalseIf new chapters that have been retrieved should get automatically downloaded
AUTO_DOWNLOAD_EXCLUDE_UNREADtrueIgnore automatic chapter downloads of entries with unread chapters
AUTO_DOWNLOAD_NEW_CHAPTERS_LIMIT00 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_REUPLOADSfalseDecides if re-uploads should be ignored during auto download of new chapters chapters
DOWNLOAD_CONVERSIONS{}Image download conversions, please see the wiki for more information.
SERVE_CONVERSIONS{}Image serve conversions, please see the wiki for more information.
EXTENSION_STORES[]Any additional extension stores to use, the format is ["https://raw.githubusercontent.com/MY_ACCOUNT/MY_EXTENSION_STORE/tree/repo.min.json", "https://raw.githubusercontent.com/MY_ACCOUNT_2/MY_REPO_2/repo/index.pb"]
MAX_SOURCES_IN_PARALLEL6Range: 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_UNREADtrueIf unread manga should be excluded from updates
UPDATE_EXCLUDE_STARTEDtrueIf manga that haven't been started should be excluded from updates
UPDATE_EXCLUDE_COMPLETEDtrueIf completed manga should be excluded from updates
UPDATE_INTERVAL12Time 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_INFOfalseIf manga info should be updated along with the chapters
BACKUP_TIME00:00Range: hour: 0-23, minute: 0-59 - Time of day at which the automated backup should be triggered
BACKUP_INTERVAL1Time in days - 0 to disable it - range: 1 <= n < ∞ - Interval in which the server will automatically create a backup
BACKUP_TTL14Time in days - 0 to disable it - range: 1 <= n < ∞ - How long backup files will be kept before they will get deleted
AUTO_BACKUP_INCLUDE_MANGAtrueIf the auto-backup should include manga
AUTO_BACKUP_INCLUDE_CATEGORIEStrueIf the auto-backup should include categories
AUTO_BACKUP_INCLUDE_CHAPTERStrueIf the auto-backup should include chapters
AUTO_BACKUP_INCLUDE_TRACKINGtrueIf the auto-backup should include tracking
AUTO_BACKUP_INCLUDE_HISTORYtrueIf the auto-backup should include history
AUTO_BACKUP_INCLUDE_CLIENT_DATAtrueIf the auto-backup should include client data
AUTO_BACKUP_INCLUDE_SERVER_SETTINGStrueIf the auto-backup should include server settings
FLARESOLVERR_ENABLEDfalseWhether FlareSolverr is enabled and available to use
FLARESOLVERR_URLhttp://localhost:8191The URL of the FlareSolverr instance
FLARESOLVERR_TIMEOUT60Time in seconds for FlareSolverr to timeout if the challenge is not solved
FLARESOLVERR_SESSION_NAMEsuwayomiThe name of the session that Suwayomi will use with FlareSolverr
FLARESOLVERR_SESSION_TTL15The time to live for the FlareSolverr session
FLARESOLVERR_RESPONSE_AS_FALLBACKfalseUse the response from FlareSolverr if Suwayomi does not succeed
OPDS_USE_BINARY_FILE_SIZESfalseIf the file sizes should be displayed in binary (KiB, MiB, GiB) or decimal (KB, MB, GB)
OPDS_ITEMS_PER_PAGE50How many items to show on a page - 10 <= n < 5000
OPDS_ENABLE_PAGE_READ_PROGRESStrueTrack and update your reading progress by page for each chapter during page streaming
OPDS_MARK_AS_READ_ON_DOWNLOADfalseAutomatically mark chapters as read when you download them
OPDS_SHOW_ONLY_UNREAD_CHAPTERSfalseFilter manga feed to display only chapters you haven't read
OPDS_SHOW_ONLY_DOWNLOADED_CHAPTERSfalseFilter manga feed to display only chapters you have downloaded
OPDS_CHAPTER_SORT_ORDERDESCDESC or ASC
OPDS_CBZ_MIME_TYPEMODERNMODERN or LEGACY or COMPATIBLE. Controls the MimeType that Suwayomi sends in OPDS entries for CBZ archives. Also affects global CBZ download. Modern follows recent IANA standard (2017), while LEGACY (deprecated mimetype for .cbz) and COMPATIBLE (deprecated mimetype for all comic archives) might be more compatible with older clients.
OPDS_SKIP_CHAPTER_METADATA_FEEDfalseControls if the metadata feed should be skipped.
KOREADER_SYNC_CHECKSUM_METHODbinarybinary or filename
KOREADER_SYNC_PERCENTAGE_TOLERANCE0.00000000000001Absolute tolerance for progress comparison from 1 (widest) to 1e-15 (strict)
KOREADER_SYNC_STRATEGY_FORWARDpromptprompt, keep_local, keep_remote, disabled
KOREADER_SYNC_STRATEGY_BACKWARDdisabledprompt, keep_local, keep_remote, disabled
DATABASE_TYPEH2H2 or POSTGRESQL
DATABASE_URLpostgresql://localhost:5432/suwayomiThe URL of the database, only used for non-h2 database
DATABASE_USERNAME Database username, only used for non-h2 database
DATABASE_PASSWORD Database password, only used for non-h2 database
USE_HIKARI_CONNECTION_POOLtrueUse Hikari Connection Pool to connect to the database.
KCEF_ENABLEDtrueEnable the WebView via CEF (Chromium).
SYNCYOMI_ENABLEDfalseEnable Syncyomi support.
SYNCYOMI_HOST Base URL of the SyncYomi server instance. e.g. http://syncyomi:8282.
SYNCYOMI_API_KEY API key to authenticate with SyncYomi. You must use the same API key in both Suwayomi and SyncYomi.
SYNC_DATA_MANGAtrueEnables syncing manga.
SYNC_DATA_CHAPTERStrueEnables syncing chapters.
SYNC_DATA_TRACKINGtrueEnables syncing tracking data.
SYNC_DATA_HISTORYtrueEnables syncing reading history.
SYNC_DATA_CATEGORIEStrueEnables syncing categories.
SYNC_INTERVAL0sInterval between automatic sync operations in ISO-8601 Duration format. Use 0s to disable.

Caution

This docker image is known to occasionally fail to work. This seems to be caused by problems in the download. If the logs simply end with LD_PRELOAD=/opt/catch_abort.so /home/suwayomi/.local/share/Tachidesk/bin/kcef/libcef.so, please remove the downloaded image and pull again. If this does not help, open a new issue.

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:

  suwayomi_server:
    image: ghcr.io/suwayomi/suwayomi-server:stable
    container_name: Suwayomi-Server
    volumes: # The order matters! Make sure the downloads is first in the volume list or it will not work!
      - /example/suwayomi-server/downloads:/home/suwayomi/.local/share/Tachidesk/downloads
      - /example/suwayomi-server/files:/home/suwayomi/.local/share/Tachidesk
    ports:
      - 4568:4567
    restart: unless-stopped

Docker tags

Latest

ghcr.io/suwayomi/suwayomi-server:latest

The latest stable release of the server. Also tagged as :stable.

Preview

ghcr.io/suwayomi/suwayomi-server:preview

The latest preview release of the server. Can be buggy!

Credit

Suwayomi-Server is licensed under MPL v. 2.0.

License

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.