Skip to content

🚀 使用 Docker Compose 部署 Suwayomi Server(开源漫画阅读服务器)

🚀 使用 Docker Compose 部署 Suwayomi-Server

Suwayomi-Server 是一款免费且开源的漫画阅读服务器,它能够在任何支持 Java 和现代浏览器的平台上运行,让你轻松搭建个人漫画阅读服务。

📝 项目简介

Suwayomi-Server 是一个基于 Java 的漫画阅读服务器,它兼容 Tachiyomi 扩展,支持多种客户端连接。采用服务端和客户端分离的架构,让你可以在不同设备上享受一致的阅读体验。

核心特点: - 多平台支持:支持 Windows、Linux、macOS、Chrome OS 等多种平台 - 扩展兼容:能够运行为 Tachiyomi 构建的各种扩展插件 - 多客户端支持:支持 WebUI、JUI、Sorayomi 等多种客户端界面 - 数据同步:支持阅读进度跟踪和同步 - 本地化支持:支持本地漫画阅读和下载管理

🔧 部署前准备

系统环境要求

  • 操作系统:支持 Linux、Windows、macOS
  • Docker 版本:Docker 24.0+
  • Docker Compose:版本 2.0+
  • 硬件资源
  • 内存:至少 512MB(推荐 1GB+)
  • 存储空间:根据漫画库大小决定,建议至少 10GB
  • CPU:1 核心以上

环境检查

  1. 检查 Docker 服务状态
   systemctl status docker

确保 Docker 服务处于 active (running) 状态

  1. 检查 Docker 版本
   docker -v

确保版本为 24.0 或更高

  1. 创建部署目录
   mkdir -p /home/compose/Suwayomi-Server
   cd /home/compose/Suwayomi-Server

⚙️ 配置 Docker Compose

准备配置文件

创建 docker-compose.yml 文件,内容如下:

#version: '3.8'

services:
  suwayomi:
    # 镜像选择:preview 版(含最新功能,稳定版可替换为 ghcr.io/suwayomi/suwayomi-server:latest)
    image: ghcr.io/suwayomi/suwayomi-server:preview #ghcr.io/suwayomi/tachidesk:v2.1.1898 #ghcr.io/suwayomi/server:latest  # 官方镜像地址
    container_name: suwayomi-server  # 容器名称,便于管理(如停止/查看日志)
    restart: unless-stopped  # 容器退出后自动重启(除非手动停止,保障服务稳定)
    ports:
      - "4567:4567"   # 端口映射:主机 4567 → 容器 4567(Web/客户端访问端口,左侧可自定义)
    environment:
      - TZ=Asia/Shanghai  # 时区设置(确保日志、更新时间与本地一致,不可省略)
      # - EXTENSION_REPOS=repo1,repo2  # 如需添加扩展仓库,可取消注释并设置
      # 代理配置(需代理则保留,无需则注释)我的端口是20171走全局代理。
      - HTTP_PROXY=http://192.168.0.3:20171  # 例如 http://192.168.1.100:8080
      - HTTPS_PROXY=http://192.168.0.3:20171 # 注意这里也是 http://
      - NO_PROXY=localhost,127.0.0.1  # 本地地址不走代理
    volumes:
      #- ./data:/home/suwayomi/.local/share/Tachidesk
      #- ./downloads:/home/suwayomi/.local/share/Tachidesk/downloads
      #- ./files:/home/suwayomi/.local/share/Tachidesk
      #- suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      #- ./downloads:/downloads #授权目录777即可下载到目录

      #- ./suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      #- ./downloads:/home/suwayomi/Downloads  # 可选:将下载目录挂载到主机当前目录的downloads

      # 核心数据目录:存储配置、阅读进度、漫画缓存(必须与准备的目录一致)
      - /mnt/10t/cache/suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      # 漫画下载目录:下载的漫画章节存于此(可与 Komga 等工具共享目录)
      - /mnt/10t/file/komga/downloads:/home/suwayomi/Downloads  # 可选:将下载目录挂载到主机当前目录的downloads


#两个目录权限777方可 运行和写入
#chmod -R 777 /home/compose/Suwayomi-Server/suwayomi_data
#chmod -R 777 /home/compose/Suwayomi-Server/downloads

#压缩指定目录到当前目录下的suwayomi_data.zip
#apt install -y zip
#zip -r suwayomi_data.zip /home/compose/Suwayomi-Server/suwayomi_data

#解压当前目录下的suwayomi_data.zip到指定的目录
#apt-get install unzip
#unzip -o -d /home/compose/Suwayomi-Server/suwayomi_data1 suwayomi_data.zip


#volumes:
  #suwayomi_data:  # 定义命名卷,Docker会自动管理其位置,避免权限问题


      #- ./suwayomi_config:/var/lib/suwayomi  # 持久化配置、数据库和下载内容
      # - /path/to/your/local/manga:/var/lib/suwayomi/Manga  # 可选:映射本地已有的漫画目录

    deploy:
     resources:
       limits:  # 资源限制(根据主机配置调整,避免占用过多资源)
        cpus: '0.1'    # 最多使用 0.1 个 CPU 核心(4核主机可改为 '1')
        memory: 356M   # 最多使用 356MB 内存(8GB 主机可改为 '1G')
        #cpus: '0.5'
        #memory: 756M


  #flaresolverr:
    #image: ghcr.io/thephaseless/byparr:latest
    #container_name: flaresolverr
    #environment:
      #- TZ=Asia/Shanghai
      #- TZ=Etc/UTC # Use TZ database name from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      #- HTTP_PROXY=http://192.168.0.3:20171  # 例如 http://192.168.1.100:8080
      #- HTTPS_PROXY=http://192.168.0.3:20171 # 注意这里也是 http://
      #- NO_PROXY=localhost,127.0.0.1
    #ports:
      #- "8191:8191"
    #restart: unless-stopped

#VPS小鸡版配置
services:
  suwayomi:
    image: ghcr.io/suwayomi/suwayomi-server:preview #ghcr.io/suwayomi/tachidesk:v2.1.1898 #ghcr.io/suwayomi/server:latest  # 官方镜像地址
    container_name: suwayomi-server
    #restart: unless-stopped  # 总是重启除非手动停止
    restart: always

    ports:
      - "4567:4567"  # 将主机端口映射到容器内的默认端口4567
    environment:
      - TZ=Asia/Shanghai  # 设置时区,请根据您的实际情况修改
      # - EXTENSION_REPOS=repo1,repo2  # 如需添加扩展仓库,可取消注释并设置
      #按需开启梯子,我的端口是20171走全局代理。
      #- HTTP_PROXY=http://192.168.0.3:20171  # 例如 http://192.168.1.100:8080
      #- HTTPS_PROXY=http://192.168.0.3:20171 # 注意这里也是 http://
      #- NO_PROXY=localhost,127.0.0.1
    volumes:
      #- ./data:/home/suwayomi/.local/share/Tachidesk
      #- ./downloads:/home/suwayomi/.local/share/Tachidesk/downloads
      #- ./files:/home/suwayomi/.local/share/Tachidesk
      #- suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      #- ./downloads:/downloads #授权目录777即可下载到目录

      # sync同步"/home/compose/Suwayomi-Server/suwayomi_data"也没用,UI面板根本不起效!
      - ./suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      - ./downloads:/home/suwayomi/Downloads  # 可选:将下载目录挂载到主机当前目录的downloads
      #- /mnt/10t/cache/suwayomi_data:/home/suwayomi/.local/share/Tachidesk  # 使用命名卷持久化核心数据
      #- /mnt/10t/file/komga/downloads:/home/suwayomi/Downloads  # 可选:将下载目录挂载到主机当前目录的downloads


#两个目录权限777方可 运行和写入
#chmod -R 777 /home/compose/Suwayomi-Server/suwayomi_data
#chmod -R 777 /home/compose/Suwayomi-Server/downloads

#压缩指定目录到当前目录下的suwayomi_data.zip
#apt install -y zip
#zip -r suwayomi_data.zip /home/compose/Suwayomi-Server/suwayomi_data

#解压当前目录下的suwayomi_data.zip到指定的目录
#apt-get install unzip
#unzip -o -d /home/compose/Suwayomi-Server/suwayomi_data1 suwayomi_data.zip


#volumes:
  #suwayomi_data:  # 定义命名卷,Docker会自动管理其位置,避免权限问题


      #- ./suwayomi_config:/var/lib/suwayomi  # 持久化配置、数据库和下载内容
      # - /path/to/your/local/manga:/var/lib/suwayomi/Manga  # 可选:映射本地已有的漫画目录

    deploy:
     resources:
       limits:
        cpus: '0.2'
        memory: 356M
        #cpus: '0.5'
        #memory: 756M



  #flaresolverr:
    #image: ghcr.io/thephaseless/byparr:latest
    #container_name: flaresolverr
    #environment:
      #- TZ=Asia/Shanghai
      #- TZ=Etc/UTC # Use TZ database name from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      #- HTTP_PROXY=http://192.168.0.3:20171  # 例如 http://192.168.1.100:8080
      #- HTTPS_PROXY=http://192.168.0.3:20171 # 注意这里也是 http://
      #- NO_PROXY=localhost,127.0.0.1
    #ports:
      #- "8191:8191"
    #restart: unless-stopped


#看来默认标签用preview,latest和stable是同体积我不用避免配置不同步,具体版本可用‘ghcr.io/suwayomi/tachidesk:v2.1.1898’
#REPOSITORY                         TAG         IMAGE ID       CREATED        SIZE
#ghcr.io/suwayomi/suwayomi-server   preview     131f3a5d5ed6   2 days ago     1.38GB
#ghcr.io/suwayomi/tachidesk         v2.1.1898   131f3a5d5ed6   2 days ago     1.38GB
#ghcr.io/suwayomi/suwayomi-server   latest      9da91a277797   3 weeks ago    1.35GB
#ghcr.io/suwayomi/suwayomi-server   stable      9da91a277797   3 weeks ago    1.35GB


#名词解释
#首先几个名词科普:
#Mihon/Tachiyomi:看漫画的app。Tachiyomi已经不更新了,而Mihon属于正统分支续作。
#Suwayomi:属于Tachiyomi的官方插件,也可以独立运行。


#安装插件
#原本在mihon中安装Suwayomi是个非常简单的事儿。只需要添加官方源,找到插件安装即可。
#这是几个插件库:其中1是Tachiyomi官方库;在mihon中可以直接使用的是2、4;第3个已经不行了

#1、 https://raw.githubusercontent.com/Tachiyomiorg/extensions/repo/index.min.json
#2、 https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json
#3、 https://beerpiss.github.io/Tachiyomi-unofficial-extensions/index.min.json
#4、 https://stevenyomi.github.io/copymanga/index.min.json

#常用插件
#18Manhua Baimangu  Baka E-Hentai HANMAN18  Hitomi  Jinman  Komga  Roumanwu WNACG


关键配置说明

1.镜像选择: - ghcr.io/suwayomi/suwayomi-server:preview:预览版,包含最新功能 - ghcr.io/suwayomi/server:latest:稳定版

2.网络配置:使用默认的 bridge 网络,端口映射到宿主机的 4567 端口

3.数据持久化: - ./suwayomi_data:/home/suwayomi/.local/share/Tachidesk:核心数据目录 - ./downloads:/home/suwayomi/Downloads:下载目录

4.环境变量: - TZ:设置时区,根据实际位置调整 - EXTENSION_REPOS:扩展仓库地址(可选) - 代理设置:根据网络环境按需配置

5.资源限制:根据服务器实际情况调整 CPU 和内存限制

设置目录权限

# 创建目录并设置权限
mkdir -p suwayomi_data downloads
chmod -R 777 suwayomi_data downloads
#定时重启服务以避免错误

#定时任务
crontab -e
#键入关闭和启动命令与计次写入
0 1 * * * docker-compose -f /home/compose/Suwayomi-Server/docker-compose.yml down && docker-compose -f /home/compose/Suwayomi-Server/docker-compose.yml up -d && echo "+1" >> /home/compose/Suwayomi-Server/1.md

🚀 启动与验证

启动服务

docker compose up -d

验证服务状态

1.检查容器运行状态

   docker ps

应该看到 suwayomi-server 容器处于 Up 状态

2.查看服务日志

   docker compose logs -f

3.访问 Web 界面 在浏览器中访问 http://你的服务器IP:4567

初始设置

首次访问会加载 Suwayomi WebUI 界面,可以进行以下初始配置: - 设置语言和界面偏好 - 配置扩展仓库 - 设置下载目录选项

🔌 基础配置与使用

扩展管理

  1. 添加扩展仓库
  2. 在 WebUI 中进入 "Settings" -> "Browse" -> "Extension repositories"
  3. 添加第三方仓库地址,例如: https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json

  4. 安装扩展

  5. 进入 "Browse" -> "Extensions"
  6. 选择可用扩展并安装
  7. 启用所需扩展源

漫画管理

1.搜索和浏览漫画 - 在 "Sources" 界面浏览已安装的扩展源 - 使用搜索功能查找特定漫画

2.添加到书架 - 点击漫画进入详情页 - 点击 "Add to library" 将漫画加入书架

3.阅读和管理 - 在 "Library" 中查看已收藏的漫画 - 支持在线阅读和下载 - 自动跟踪阅读进度

客户端连接

除了 WebUI,还可以使用其他客户端: - Suwayomi-JUI:原生桌面前端 - Suwayomi Sorayomi:仿 Tachiyomi 风格的客户端 - 移动端客户端:支持 Android 等移动设备

🛠️ 维护与管理

日常维护操作

1.服务启动/停止

   # 停止服务
   docker compose down

   # 启动服务
   docker compose up -d

2.数据备份

   # 备份核心数据
   zip -r suwayomi_data.zip ./suwayomi_data

   # 备份下载内容
   zip -r downloads_backup.zip ./downloads

3.服务更新

   # 进入部署目录
   cd /home/compose/Suwayomi-Server

   # 拉取最新镜像并重启
   docker compose pull
   docker compose down
   docker compose up -d

监控与日志

1.查看实时日志

   docker compose logs -f

2.监控资源使用

   docker stats suwayomi-server

3.检查存储空间

   df -h  # 检查磁盘空间
   du -sh ./suwayomi_data  # 查看数据目录大小

🐛 常见问题排查

1. 容器启动失败

问题现象docker ps 显示容器状态不是 Up

解决方案: - 检查日志:docker compose logs - 验证端口占用:netstat -tulpn | grep 4567 - 检查目录权限:确保挂载目录有读写权限

2. 无法访问 Web 界面

问题现象:浏览器访问 http://IP:4567 无响应

解决方案: - 检查防火墙设置: bash # 开放 4567 端口 ufw allow 4567 - 验证服务绑定:确保服务绑定到 0.0.0.0 而不是 127.0.0.1

3. 扩展安装失败

问题现象:扩展无法下载或安装

解决方案: - 检查扩展源地址是否正确 - 验证网络连接,可能需要配置代理 - 尝试不同的扩展仓库源

4. 500 内部服务器错误

问题现象:操作时出现 HTTP 500 错误

解决方案: - 检查服务器日志获取详细错误信息 - 验证文件权限设置 - 尝试升级到最新版本

5. 本地源消失问题

问题现象:本地漫画源从界面中消失

解决方案: - 升级到最新版本 - 重启服务 - 避免频繁切换不同的扩展源

6. 性能优化建议

  • 内存不足:增加容器内存限制至 1GB 以上
  • 响应缓慢:适当增加 CPU 核心数
  • 下载失败:检查网络连接和代理设置

通过本教程,您应该已经成功部署并配置了 Suwayomi-Server,现在可以开始构建个人的漫画阅读库了。如果在使用过程中遇到其他问题,可以参考项目官方文档或社区支持资源。