自托管短链接服务Snapp
什么是 Snapp ?
Snapp是一款自托管URL缩短服务。能轻松缩短链接。借助Snapp的自托管功能,您能拥有完全的控制权,并根据您的要求创建简洁、可共享的链接。
使用 Snapp,您可以个性化链接结尾、监控链接的点击次数,设置链接的到期日期以提供额外的安全性。
官方将安装分为了三种情况:
- 方式一:简易安装,这种方式不推荐,可能会遇到
CORS问题,也不适合群晖; - 方式二:
http协议安装,如果只是在局域网使用,建议这种方式; - 方式三:
https协议安装,如果在互联网使用,建议采用这种方式;
下面的三种安装方式,都基于方式二,而
docker cli还提供了方式三
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 uraniadev ,选择第一个 uraniadev/snapp,双击直接下载

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
3082 |
3000 |

环境
| 可变 | 值 |
|---|---|
ORIGIN |
如果您遇到 CORS 问题,请务必设置 ORIGIN |
PUBLIC_URL |
如果您遇到 CORS 问题,请务必设置 PUBLIC_URL |
NODE_ENV |
不使用 HTTPS 协议的情况下进行自托管,请设置NODE_ENV=development |
默认值如下

修改之后

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 运行容器(http协议) |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 snapp |
运行
在浏览器中输入 http://群晖IP:3082 就能看到主界面
下拉能看到前面提到的三种安装方式,还有一些参数,例如:
启用用户注册、禁用主页和使用 Docker 持久化数据库等

从左侧菜单 Login 进入注册账号

登录成功后,就是 Dashboard 了

点右上角 Shorten an url 来测试一下,没有设置过期时间和密码

SAVE 之后会回到 Dashboard 首页

访问地址就是我们前面设置的 PUBLIC_URL + /~/ + SHORT CODE,也就是 http://192.168.0.197:3082/~/i0ydl
访问的次数,在 USAGES 中会有体现

参考文档
urania-dev/snapp: Yet Another Url Shortner. | A simple excercise to learn Svelte, Svelte5 Runes, and Tabler.
地址:https://github.com/urania-dev/snappSnapp.li | Self-hostable Short Url
地址:https://snapp.li/Snapp | Selfhosted Url Shortner : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/18chpe4/snapp_selfhosted_url_shortner/