项目核心介绍
Slink 是一款功能全面的自托管图片共享平台,致力于让用户完全掌控个人媒体共享体验。Slink 采用 Symfony 和 SvelteKit 技术框架构建,无需依赖任何第三方服务即可实现流畅且高度安全的图片共享过程。
平台支持多种图片存储方式:本地磁盘、Samba 共享以及 S3 对象存储。
项目源代码地址
项目源码位于:https://github.com/andrii-kryvoviaz/slink

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即可进入平台。首次访问需要创建管理员账户:

然后返回SSH终端,使用以下命令激活刚注册的账户:
docker exec -it slink slink user:activate --email=nasbump@163.com
## 注意需要将上面的邮箱地址替换为实际注册的邮箱
再次回到浏览器界面,即可使用刚注册的账户登录平台。登录成功后就可以开始上传图片:

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

基本操作流程与其他图床平台相似,提供了直观的用户体验。
平台发展展望
- 这属于一个较新的开源项目,目前开发者更新频率较高,项目路线图中规划了多项尚未实现的新功能,值得持续关注
- 对于已经使用腻了蓝空或其他图床解决方案的用户,不妨尝试体验这个新兴项目:Slink