Docker 玩法

飞牛NAS搭建漫画服务器:Komga部署教程

飞牛NAS搭建漫画服务器:Komga部署教程

你是否收藏了成百上千本漫画却苦于无法统一管理?是否因为设备间的文件传输而头疼?今天,我们就来手把手教你如何在飞牛NAS上部署Komga——一款轻量级、美观且支持多用户的漫画与电子书服务器。通过本教程,你将实现漫画的集中管理、流式阅读、浏览器/APP无缝访问,甚至还能分享给你的家人或朋友。

为什么选择Komga?

  • 多端支持:网页端、iOS(Chunky Reader、YACReader)、Android(Tachiyomi)、Kindle等主流平台。
  • 智能元数据:自动刮削漫画信息(作者、封面、简介等),支持自定义标签。
  • 阅读进度同步:跨设备继续阅读,不丢失进度。
  • 用户权限管理:可设置不同用户的书架访问权限。
  • 硬链接与软链接:节省存储空间,不破坏原始文件结构。

前置准备

  • 已安装飞牛NAS系统(基于Debian,本教程适用于飞牛OS v0.8.x及以上)
  • 已配置好SSH访问权限(建议使用root用户或sudo权限账号)
  • 已安装Docker和Docker Compose(飞牛NAS默认集成了Docker,但需确认版本)
  • 准备一个存放漫画文件的目录(例如 /vol1/1000/漫画库

检查Docker环境:

docker --version
docker-compose --version

如果提示命令不存在,可先通过飞牛NAS的应用中心直接安装Docker套件。

第一步:创建目录结构

在飞牛NAS的存储卷中创建Komga所需的数据目录。假设你的NAS存储路径为 /vol1/1000,我们将在其中创建专用文件夹:

# 创建数据目录(存放配置、数据库和缓存)
sudo mkdir -p /vol1/1000/docker/komga/config

# 创建漫画库目录(存放你的漫画文件)
sudo mkdir -p /vol1/1000/漫画库

# 授予权限(避免权限问题,将目录所有者改为当前用户,实际部署建议使用专用UID)
sudo chown -R 1000:1000 /vol1/1000/docker/komga
sudo chown -R 1000:1000 /vol1/1000/漫画库

> 注意:1000:1000 是飞牛NAS默认的管理员UID:GID,如果你创建了其他用户,请替换为对应值。也可以通过 id 用户名 命令查看。

第二步:编写Docker Compose配置文件

使用文本编辑器(如vim、nano)创建 docker-compose.yml 文件:

sudo nano /vol1/1000/docker/komga/docker-compose.yml

粘贴以下内容:

version: '3.8'

services:
  komga:
    image: gotson/komga:latest
    container_name: komga
    restart: unless-stopped
    ports:
      - "8090:8080"  # 宿主端口8090映射容器8080端口
    volumes:
      - /vol1/1000/docker/komga/config:/config  # 配置文件持久化
      - /vol1/1000/漫画库:/data/漫画库          # 漫画库挂载
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - KOMGA_LIBRARIES_SCAN_ON_STARTUP=true    # 启动时自动扫描漫画库
      - KOMGA_REMEMBERME_KEY=你的随机密钥       # 用于会话加密,可随意填写
    networks:
      - komga-net

networks:
  komga-net:
    driver: bridge

配置说明: - PUIDPGID:确保容器内文件权限与宿主机一致,避免无法写入元数据缓存。 - KOMGA_REMEMBERME_KEY:用于生成“记住我”的Cookie,建议使用随机字符串(例如 openssl rand -base64 32 生成)。 - 端口映射:如果8090端口被占用,可修改为其他端口(如8091)。

保存并退出(nano按Ctrl+X,按Y确认,回车)。

第三步:启动Komga容器

进入配置文件所在目录,启动服务:

cd /vol1/1000/docker/komga
sudo docker-compose up -d

等待镜像下载和容器启动(首次启动会拉取约300MB的镜像,视网速而定)。启动后可通过以下命令检查状态:

sudo docker-compose ps
sudo docker logs komga -f  # 实时查看日志,Ctrl+C退出

若日志中出现 Started Komga in x seconds 或类似信息,则表示启动成功。

第四步:访问Web界面并初始化

打开浏览器,输入 http://你飞牛NAS的IP:8090(例如 http://192.168.1.100:8090),你将看到Komga的登录界面。

  1. 首次访问会要求创建管理员账户:填写用户名、邮箱和密码(建议使用强密码)。
  2. 登录后进入主界面,点击右上角齿轮图标进入设置。
  3. 选择“Libraries”(图书馆),点击“Add library”。
  4. 输入图书馆名称(如“我的漫画”),路径选择 /data/漫画库(注意容器内路径)。
  5. 扫描模式建议选择“One shot”(一次性扫描)或“Real time”(实时监控,推荐)。
  6. 点击“Save”,Komga会自动扫描该目录下的所有漫画文件。

支持的漫画格式: - 压缩包:ZIP, CBZ, RAR, CBR - 电子书:EPUB, PDF - 文件夹(以文件夹为单位显示单本漫画)

第五步:文件组织建议

为了让Komga正确识别漫画,建议按照以下结构组织文件:

/vol1/1000/漫画库/
├── 灌篮高手/
│   ├── 灌篮高手 第01卷.cbz
│   ├── 灌篮高手 第02卷.cbz
│   └── ...
├── 海贼王/
│   ├── 海贼王 第001话.cbz
│   ├── 海贼王 第002话.cbz
│   └── ...
└── 鬼灭之刃 (单行本)/
    ├── 鬼灭之刃 第01卷.cbz
    └── ...
  • 单行本:每个文件夹对应一部漫画,内含卷号命名的压缩包。
  • 连载话:每个文件夹对应一部漫画,内含话号命名的压缩包。
  • 文件名尽量包含数字编号,Komga会自动排序。

进阶配置与优化

1. 通过反向代理实现域名访问

如果你有域名,可以在飞牛NAS上部署Nginx Proxy Manager或Caddy,将 漫画.你的域名.com 指向 http://localhost:8090,并开启HTTPS加密。

2. 启用OPDS服务

Komga内置OPDS服务器(端口与Web相同),支持第三方阅读APP(如Chunky、Tachiyomi)直接连接。只需在APP中填入服务器地址 http://IP:8090/opds 即可。

3. 调整内存与缓存

如果漫画库较大(超过5000本),建议在 docker-compose.yml 中添加环境变量:

environment:
  - JAVA_OPTS=-Xmx2g -Xms512m

限制JVM最大堆内存为2GB,避免内存溢出。

4. 自动更新漫画元数据

Komga支持从ComicVine、MangaUpdates等网站刮削元数据。需在设置中启用“Metadata Providers”,并配置API Key(部分需要注册账号免费获取)。

常见问题排查

Q:容器启动失败,日志提示“Permission denied”? A:检查漫画库和配置目录的权限,确保PUID/PGID对应正确。可临时将目录权限设为777测试:sudo chmod -R 777 /vol1/1000/漫画库 (生产环境不推荐)。

Q:扫描后漫画未显示封面? A:确保漫画文件包含内嵌封面(如CBZ/ZIP中的第一张图片),或者手动上传封面文件(命名为 cover.jpg 放在漫画文件夹内)。

Q:如何更新Komga到最新版? A:进入配置文件目录,执行:

sudo docker-compose pull
sudo docker-compose up -d

总结

至此,你已经成功在飞牛NAS上部署了Komga漫画服务器。现在你可以通过浏览器随时阅读漫画,或者使用Tachiyomi等APP在手机/平板上同步阅读进度。Komga的响应速度和稳定性在同类产品中表现优异,尤其适合漫画数量庞大的用户。

如果你希望进一步扩展功能,可以尝试搭配Calibre-web管理电子书,或者结合Jelly

💬 评论区
发表评论

暂无评论,来说两句吧