自托管短链接服务Snapp

什么是 Snapp ?

Snapp 是一款自托管 URL 缩短服务。能轻松缩短链接。借助 Snapp 的自托管功能,您能拥有完全的控制权,并根据您的要求创建简洁、可共享的链接。

使用 Snapp,您可以个性化链接结尾、监控链接的点击次数,设置链接的到期日期以提供额外的安全性。

官方将安装分为了三种情况:

  • 方式一:简易安装,这种方式不推荐,可能会遇到 CORS 问题,也不适合群晖;
  • 方式二:http 协议安装,如果只是在局域网使用,建议这种方式;
  • 方式三:https 协议安装,如果在互联网使用,建议采用这种方式;

下面的三种安装方式,都基于方式二,而 docker cli 还提供了方式三

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 uraniadev ,选择第一个 uraniadev/snapp,双击直接下载

自托管短链接服务Snapp_第1张图片

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3082 3000

自托管短链接服务Snapp_第2张图片

环境

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

默认值如下

自托管短链接服务Snapp_第3张图片

修改之后

自托管短链接服务Snapp_第4张图片

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器(http协议)
docker run -d \
   --restart unless-stopped \
   --name snapp \
   -p 3082:3000 \
   -e ORIGIN=http://192.168.0.197:3082 \
   -e PUBLIC_URL=http://192.168.0.197:3082 \
   -e NODE_ENV=development \
   uraniadev/snapp:latest

# 运行容器(https协议)
docker run -d \
   --restart unless-stopped \
   --name snapp \
   -p 3082:3000 \
   -e ORIGIN=https://snapp.laosu.cf \
   -e PUBLIC_URL=https://snapp.laosu.cf \
   uraniadev/snapp:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  snapp:
    image: uraniadev/snapp:latest
    container_name: snapp
    restart: unless-stopped
    ports:
      - 3082:3000
    environment:
      - ORIGIN=http://192.168.0.197:3082
      - PUBLIC_URL=http://192.168.0.197:3082
      - NODE_ENV=development

然后执行下面的命令

# 新建文件夹 snapp
mkdir -p /volume1/docker/snapp

# 进入 snapp 目录
cd /volume1/docker/snapp

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3082 就能看到主界面

下拉能看到前面提到的三种安装方式,还有一些参数,例如:启用用户注册禁用主页使用 Docker 持久化数据库

自托管短链接服务Snapp_第5张图片

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

自托管短链接服务Snapp_第6张图片

登录成功后,就是 Dashboard

自托管短链接服务Snapp_第7张图片

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

自托管短链接服务Snapp_第8张图片

SAVE 之后会回到 Dashboard 首页

自托管短链接服务Snapp_第9张图片

访问地址就是我们前面设置的 PUBLIC_URL + /~/ + SHORT CODE,也就是 http://192.168.0.197:3082/~/i0ydl

访问的次数,在 USAGES 中会有体现

自托管短链接服务Snapp_第10张图片

参考文档

urania-dev/snapp: Yet Another Url Shortner. | A simple excercise to learn Svelte, Svelte5 Runes, and Tabler.
地址:https://github.com/urania-dev/snapp

Snapp.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/

你可能感兴趣的:(群晖,docker,短链接)