七千二百袋水泥
七千二百袋水泥
Published on 2025-10-25 / 3 Visits

在Nas上部署自托管图床Slink的全新指南:厌倦蓝空picsur的用户可以尝试这个安全高效的图片共享平台替代方案

项目核心介绍

Slink 是一款功能全面的自托管图片共享平台,致力于让用户完全掌控个人媒体共享体验。Slink 采用 Symfony 和 SvelteKit 技术框架构建,无需依赖任何第三方服务即可实现流畅且高度安全的图片共享过程。

平台支持多种图片存储方式:本地磁盘、Samba 共享以及 S3 对象存储。

项目源代码地址

项目源码位于:https://github.com/andrii-kryvoviaz/slink

Image

Docker容器部署配置

以下是完整的 docker-compose 配置文件:

services:  
  slink:  
    image: docker.1ms.run/anirdev/slink:latest  
    container_name: slink  
    environment:  
      - TZ=CST  
      ## 项目设计主要用于生产环境,因此ORIGIN必须使用https协议,证书可通过命令行自行签发,域名可选用之前申请的免费域名服务如freemyip.com  
      - ORIGIN=https://slink.games.freemyip.com  
      ## 设置用户需要经过激活才能上传图片  
      - USER_APPROVAL_REQUIRED=true  
      - USER_PASSWORD_MIN_LENGTH=6  
      - USER_PASSWORD_REQUIREMENTS=3  
      ## 设定最大上传图片大小为25MB  
      - IMAGE_MAX_SIZE=25M  
      - STORAGE_PROVIDER=local  
    volumes:  
      - ./data/db:/app/var/data  
      - ./data/images:/app/slink/images  
    ports:  
      - 3121:3000

该项目的Docker镜像发布在DockerHub官方仓库,在compose配置中已添加镜像加速地址:docker.1ms.run,这个加速地址是从网络资源中搜集获得,不能保证长期稳定可用。


项目详细解析

选择Slink的核心理由

Slink 专门解决在私密自托管环境中与亲友同事共享图片的实际需求。该平台特别适合以下使用场景:

  • 艺术创作者:在社区化平台上展示个人艺术作品集
  • 软件开发人员:托管和共享GitHub项目截图、作品集内容及博客图片素材
  • 普通用户群体:全面掌控图片隐私设置和托管位置

平台功能特性

  • 图像上传功能:支持PNG、JPG、WEBP、SVG、BMP、ICO、GIF、AVIF、HEIC* 和 TIFF* 等多种图像格式
  • 上传历史管理:查看并管理完整的图片上传历史记录
  • 分享链接生成:创建可自定义链接地址和尺寸的图片分享链接
  • 公开内容浏览:探索平台其他用户公开分享的图片内容
  • 安全认证机制:通过安全注册和登录流程访问平台功能
  • 用户审核流程:在上传权限授予前需要管理员审核通过
  • 数据统计面板:使用高级管理统计数据进行深度分析
  • 主题切换功能:轻松在深色模式和浅色主题之间进行切换
  • 存储方案集成:与本地存储、SMB网络共享或AWS S3对象存储解决方案集成
  • 系统配置管理:管理用户账户、存储设置及其他系统参数
  • 开放API接口:以编程方式访问平台功能(文档正在完善中)

实际部署体验

首次启动容器时需要初始化数据库,这个过程需要一定时间。当使用docker ps命令查看容器状态显示为healthy时表示启动成功。在N100设备上测试启动时间约为2分钟。初始化完成后再次启动容器基本可以实现秒级启动。

在等待启动过程中,可以提前创建SSL证书并配置Nginx服务器:

server {  
    listen 443 ssl;  
    server_name  slink.games.freemyip.com;  
  
   ssl_certificate  /etc/nginx/ssl/slink.pem;  
   ssl_certificate_key  /etc/nginx/ssl/slink.key;  
   ssl_session_cache shared:SSL:100m;  
   ssl_session_timeout 5h;  
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  
   ssl_prefer_server_ciphers on;  
  
    location / {  
        proxy_pass http://127.0.0.1:3121;  
    }  
}

容器完全启动后,在浏览器中访问:https://slink.games.freemyip.com即可进入平台。首次访问需要创建管理员账户:

Image

然后返回SSH终端,使用以下命令激活刚注册的账户:

docker exec -it slink slink user:activate --email=nasbump@163.com  
## 注意需要将上面的邮箱地址替换为实际注册的邮箱

再次回到浏览器界面,即可使用刚注册的账户登录平台。登录成功后就可以开始上传图片:

Image

可以选择图片文件或直接拖拽图片到上传区域,上传成功后会显示如下界面:

Image

基本操作流程与其他图床平台相似,提供了直观的用户体验。

平台发展展望

  • 这属于一个较新的开源项目,目前开发者更新频率较高,项目路线图中规划了多项尚未实现的新功能,值得持续关注
  • 对于已经使用腻了蓝空或其他图床解决方案的用户,不妨尝试体验这个新兴项目:Slink