🚀 使用 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 核心以上
环境检查
- 检查 Docker 服务状态
systemctl status docker
确保 Docker 服务处于 active (running) 状态
- 检查 Docker 版本
docker -v
确保版本为 24.0 或更高
- 创建部署目录
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 界面,可以进行以下初始配置: - 设置语言和界面偏好 - 配置扩展仓库 - 设置下载目录选项
🔌 基础配置与使用
扩展管理
- 添加扩展仓库
- 在 WebUI 中进入 "Settings" -> "Browse" -> "Extension repositories"
-
添加第三方仓库地址,例如:
https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json -
安装扩展
- 进入 "Browse" -> "Extensions"
- 选择可用扩展并安装
- 启用所需扩展源
漫画管理
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,现在可以开始构建个人的漫画阅读库了。如果在使用过程中遇到其他问题,可以参考项目官方文档或社区支持资源。