自建Snapp短链接平台完整教程 无公网使用帕斯内网穿透远程管理 私有化短链服务部署指南
作者
小编
发布时间

项目介绍
Snapp 是一个自托管的 URL 短链接平台,具有内置仪表板、细粒度访问控制和 REST API。它基于 Svelte Kit 5、Tailwind CSS 和 TypeScript 构建,支持自定义短码、过期时间、秘密链接、使用分析、URL 安全检查等功能。
Snapp 让你完全控制自己的短链接服务,无需依赖第三方平台。它支持多种数据库(SQLite、MySQL、PostgreSQL),具有现代化的用户界面,支持多因素认证、OIDC/OAuth 2.0 集成、国际化等高级功能。项目还提供了完整的 REST API,方便与其他服务集成。
界面简洁美观,功能强大且易于扩展。支持用户管理、角色权限控制、链接分组、使用统计、病毒检测等企业级功能,是个人和团队管理短链接的理想选择。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
复制下列的配置文件
1services:2 snapp:3 image: uraniadev/snapp:latest4 ports:5 - '3000:3000'6 environment:7 DATABASE_PROVIDER: sqlite8 DATABASE_URL: 'file:./db.sqlite'9 TOKEN_SECRET: 'your-random-secret-here'10 ORIGIN: 'http://localhost:3000'11 ADMIN_USERNAME: admin12 ADMIN_PASSWORD: strongpassword13 ENABLE_SIGNUP: false14 ENABLED_MFA: false15 volumes:16 - ./snapp-data:/app/prisma/sqlite
打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目
这里需要改成你需要的管理员账号和密码,TOKEN_SECRET 建议使用随机生成的 32 位字符串,ORIGIN 改成你的实际访问地址,其他的保持不变。
如果提示端口被占用可以修改 '3000:3000' 中第一个端口号,但是需要保持格式正确。
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 3000 端口,这里本地端口就填 3000
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
创建成功后可以访问 ip:3000 就可以正常显示 Snapp 短链接管理界面了
本篇教程结束