PassNAT LogoPassNAT

自建图片社区平台Szurubooru,Docker极简部署NAS,内网穿透远程访问图片库

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

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:latest
4 depends_on:
5 - sql
6 environment:
7 POSTGRES_HOST: sql
8 POSTGRES_USER: szurubooru
9 POSTGRES_PASSWORD: your_secure_password_here
10 THREADS: 4
11 volumes:
12 - "${MOUNT_DATA}:/data"
13 - "./server/config.yaml:/opt/app/config.yaml"
14
15 client:
16 image: szurubooru/client:latest
17 depends_on:
18 - server
19 environment:
20 BACKEND_HOST: server
21 BASE_URL: ""
22 volumes:
23 - "${MOUNT_DATA}:/data:ro"
24 ports:
25 - "${PORT}:80"
26
27 sql:
28 image: postgres:11-alpine
29 restart: unless-stopped
30 environment:
31 POSTGRES_USER: szurubooru
32 POSTGRES_PASSWORD: your_secure_password_here
33 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 图片社区了!

本篇教程结束