进阶技巧

飞牛NAS搭建图床服务:Lsky Pro部署

为什么需要在飞牛NAS上自建图床

对于经常写作、运营博客或管理多台设备的用户来说,图床是刚需。公共图床虽然方便,但存在数据丢失、外链限制、访问速度不稳定等问题。将图床部署在自家飞牛NAS上,意味着图片数据完全由自己掌控,配合内网穿透或DDNS还能实现随时随地访问。Lsky Pro(兰空图床)是目前最优秀的开源图床程序之一,支持多种存储策略、图片压缩、水印等功能,部署在飞牛NAS上堪称完美组合。

本文基于飞牛NAS的Docker容器方案进行部署,全程可视化操作,无需SSH命令行,适合绝大多数用户。

前期准备

在开始之前,请确认你的飞牛NAS已经满足以下条件:

  1. 系统版本为最新版(设置-系统更新中检查)
  2. 已安装Docker应用(应用中心-搜索Docker安装)
  3. 预留至少2GB磁盘空间(用于镜像和图片存储)
  4. 建议为图床单独创建一个共享文件夹,方便管理

第一步:创建数据目录

打开飞牛NAS的「文件管理」,在存储空间下新建一个名为 lsky 的文件夹(或自定义名称),并在该文件夹内创建两个子目录:datadbdata 目录存放图片文件,db 目录存放数据库文件。如果你计划使用外部数据库而非SQLite,则只需 data 目录即可。

第二步:部署MySQL数据库(可选但推荐)

Lsky Pro默认支持SQLite,但考虑到性能和后续扩展,推荐使用MySQL数据库。在Docker应用中搜索 mysql:8.0 镜像,点击部署。关键配置如下:

在「端口设置」中,将容器端口3306映射为宿主机端口3307(避免与NAS自身端口冲突)。在「环境变量」中添加:

MYSQL_ROOT_PASSWORD=你的强密码
MYSQL_DATABASE=lsky
MYSQL_USER=lskyuser
MYSQL_PASSWORD=你的数据库密码

在「存储卷」中,将之前创建的 db 目录挂载到容器的 /var/lib/mysql 路径。启动容器后,MySQL即运行在3307端口。

第三步:部署Lsky Pro容器

在Docker应用中搜索 halcyonazure/lsky-pro-docker 镜像(这是官方推荐的Docker镜像,支持最新版本),点击部署。

端口设置

将容器端口80映射为宿主机端口8089(或任意未被占用的端口)。建议不要使用80端口,因为飞牛NAS的Web管理界面通常占用80。

存储卷挂载

data 目录挂载到容器的 /var/www/html 路径。这是Lsky Pro的Web根目录,图片将直接存储在这里。

环境变量配置

如果你使用了MySQL,需要添加以下环境变量:

DB_HOST=你的NAS内网IP
DB_PORT=3307
DB_DATABASE=lsky
DB_USERNAME=lskyuser
DB_PASSWORD=你的数据库密码

如果使用SQLite,则无需配置这些变量,Lsky Pro容器会默认在 /var/www/html 下创建SQLite数据库文件。

启动容器

点击启动,等待容器状态变为「运行中」。首次启动可能需要1-2分钟进行初始化,请耐心等待。

第四步:初始化安装

打开浏览器,访问 http://你的NAS_IP:8089,进入Lsky Pro安装界面。

点击「下一步」进入环境检测,正常情况下所有项目都会通过。然后选择「MySQL」或「SQLite」作为数据库类型。如果选择MySQL,填写数据库主机为 你的NAS_IP:3307,数据库名为 lsky,用户名和密码为之前设置的内容。

填写管理员邮箱和密码(务必牢记),点击「安装」按钮。安装过程通常只需几秒,完成后会显示成功提示。

第五步:基础配置与安全设置

安装完成后,使用管理员账号登录后台。在「系统设置」中,建议进行以下调整:

  1. 基础设置:将「站点地址」修改为你的实际访问地址(如 http://你NAS的IP:8089),否则生成的图片外链可能不正确。
  2. 上传设置:根据需求调整最大上传大小(默认10MB),开启「图片压缩」可节省存储空间。
  3. 存储策略:默认使用本地存储,即容器内的 /var/www/html 目录。如果你希望将图片存放到NAS的其他位置,可以新建一个存储策略,将存储路径指向挂载的目录。
  4. 安全设置:开启「登录验证码」功能,防止暴力破解。建议定期备份 data 目录中的图片和数据库文件。

第六步:配置外链访问与内网穿透

图床的价值在于外链使用。若仅在局域网内使用,直接使用 http://NAS_IP:8089 即可。若需公网访问,推荐两种方式:

方式一:飞牛NAS自带DDNS

在「设置-网络-DDNS」中绑定你的域名,然后在路由器中设置端口转发,将外部访问端口(如8089)映射到NAS的8089端口。

方式二:使用frp或Tailscale

在Docker中部署 frpc 容器,配置远程服务器转发。对于没有公网IP的用户,Tailscale是更便捷的组网方案,只需在NAS和常用设备上安装Tailscale客户端,即可通过虚拟IP访问图床。

第七步:测试与日常使用

打开图床首页,点击「上传」按钮,选择一张图片测试。上传成功后,点击图片会显示三种格式的链接:原始链接、HTML代码和Markdown代码。复制Markdown代码到你的博客或笔记中,即可正常显示图片。

在「相册」功能中,你可以按日期或自定义文件夹管理图片。「统计」页面会显示上传数量和存储占用,方便掌握使用情况。

常见问题排查

如果访问8089端口无响应,请检查防火墙设置。在飞牛NAS的「设置-安全-防火墙」中,确认已放行8089端口(或关闭防火墙测试)。

如果图片上传失败,查看Docker容器日志(Docker-容器-点击lsky容器-日志),常见原因是存储目录权限不足。在文件管理中将 data 目录权限设置为「所有人可读写」即可解决。

如果忘记管理员密码,可通过命令行工具重置。进入容器终端,执行 php artisan password:reset --email=你的邮箱 命令,按提示操作。

总结

通过以上步骤,你已经在飞牛NAS上成功部署了Lsky Pro图床服务。整个过程得益于飞牛NAS直观的Docker管理界面,操作难度极低。自建图床不仅让你彻底摆脱第三方服务的限制,还能借助NAS的硬盘冗余机制保护珍贵图片数据。配合飞牛NAS的相册备份、多设备同步等功能,这套图床方案可以无缝融入你的数字工作流。后续建议定期更新Lsky Pro容器镜像(Docker-镜像-点击更新),以获得最新功能和安全补丁。现在,尽情享受完全自主可控的图床服务吧。

💬 评论区
发表评论

暂无评论,来说两句吧