自建图片社区平台Szurubooru,Docker极简部署NAS,内网穿透远程访问图片库
作者
小编
发布时间

项目介绍
Szurubooru 是一个功能强大的图片社区引擎,专为中小型社区量身打造。它支持多种内容格式,包括图片(JPG、PNG、GIF、动图)、视频(MP4、WEBM)以及 Flash 动画。项目提供了丰富的 JSON REST API、强大的搜索系统、灵活的权限管理、标签分类、标签建议、标签关联、池管理等高级功能。无论是建立个人收藏库还是社区内容平台,Szurubooru 都能满足你的需求。
界面简洁美观,部署简单快速,特别适合想要搭建自己的图片社区但又不想过于复杂的用户。
项目地址:点我跳转
部署安装
如果你想在外网也能访问你的项目,建议配置内网穿透服务。可以前往 帕斯内网穿透 注册账号,这样就能随时随地访问你的图片社区了。具体的配置方法可以 点我查看 内网穿透全平台上手攻略。
快速开始 - 使用 Docker Compose
Szurubooru 推荐使用 Docker Compose 进行部署,这是最便捷的方式。
第一步:准备配置文件
复制下列的 Docker Compose 配置文件到你的 NAS 或服务器中:
1services:2 server:3 image: szurubooru/server:latest4 depends_on:5 - sql6 environment:7 POSTGRES_HOST: sql8 POSTGRES_USER: szurubooru9 POSTGRES_PASSWORD: your_secure_password_here10 THREADS: 411 volumes:12 - "${MOUNT_DATA}:/data"13 - "./server/config.yaml:/opt/app/config.yaml"1415 client:16 image: szurubooru/client:latest17 depends_on:18 - server19 environment:20 BACKEND_HOST: server21 BASE_URL: ""22 volumes:23 - "${MOUNT_DATA}:/data:ro"24 ports:25 - "${PORT}:80"2627 sql:28 image: postgres:11-alpine29 restart: unless-stopped30 environment:31 POSTGRES_USER: szurubooru32 POSTGRES_PASSWORD: your_secure_password_here33 volumes:34 - "${MOUNT_SQL}:/var/lib/postgresql/data"
第二步:打开你的 NAS 设备
打开飞牛 NAS 或其他 NAS 设备的 Docker 管理界面。
第三步:配置环境变量
在启动容器前,需要设置以下环境变量。你可以创建一个 `.env` 文件,或在 NAS 的 Docker 管理界面中直接填写:
必须设置:
POSTGRES_USER: 数据库用户名(建议设置为 `szurubooru`)
POSTGRES_PASSWORD: 数据库密码(请设置一个强密码)
MOUNT_DATA: 数据存储路径(例如 `/mnt/data/szurubooru`)
MOUNT_SQL: 数据库存储路径(例如 `/mnt/data/szurubooru-db`)
PORT: 访问端口(默认 `80`,如果冲突可改为 `8080` 等)
可选设置:
THREADS: 工作线程数(默认自动,可根据服务器性能调整)
BASE_URL: 如果通过反向代理访问,设置基础 URL(例如 `/szurubooru/`)
第四步:配置服务器参数
在启动前,需要准备 `server/config.yaml` 配置文件。复制 `config.yaml.dist` 为 `config.yaml`,并根据需要修改以下重要字段:
secret: 应用密钥(请设置一个随机字符串)
smtp 部分:如需邮件功能,配置 SMTP 服务器信息
第五步:端口映射
在 NAS 的 Docker 界面中,设置容器端口映射。将容器内的 80 端口(或你在 `PORT` 变量中设置的端口)映射到主机的相应端口。如果提示端口被占用,可以修改主机端口号,但容器内的端口需要保持为 80。
第六步:存储位置配置
创建两个文件夹用于数据持久化:
一个用于存储图片和用户数据(映射到 `MOUNT_DATA`)
一个用于存储数据库文件(映射到 `MOUNT_SQL`)
在 NAS 中创建这两个目录,然后在 Docker 配置中正确映射。
第七步:启动应用
所有配置完成后,点击启动按钮启动容器。建议勾选'开机自动启动',这样重启后应用会自动运行。
第八步:访问应用
创建成功后,打开浏览器访问 `http://你的NAS_IP:PORT`(其中 PORT 是你设置的端口号,默认为 80)。首次访问时,系统会引导你完成初始化设置,包括创建管理员账户。
到这里就可以正常使用 Szurubooru 图片社区了!
本篇教程结束