一个月前购入一台便宜的服务器,一直放着没用,想着还有个短域名(6s.ink)闲着直接搭个短链接自己用。
准备
我使用:CentOS 9、Docker、非必须 1Panel面板
Kutt默认数据库是SQlite,当然也可以使用Postgres/MySQL/MariaDB、 Redis这些,但是轻量使用的话SQLite足够了。
部署
拉取仓库
Docker部署很方便,到Kutt Github仓库把整个仓库拉取到本地,可以使用下方命令,也可以直接下载ZIP解压到合适地方。
# 记得先cd到合适的文件夹,我是直接放到反向代理的域名网站文件夹下
git clone https://github.com/thedevs-network/kutt.git配置环境.env
Kutt 仓库下有一个 ==.example.env== 文件打开它,默认Kutt官方已经对里面的环境变量做好解释了,文档编辑界面不方便进行翻译,可以到 Github 上打开这个文件使用浏览器翻译功能对照。
以下就说一些需要重点修改的地方:
#下方数据后期都是可以更改的(数据库除外)
DEFAULT_DOMAIN=
#此网站所在的域,需要通过域名访问的话需要修改为对应域名。
JWT_SECRET=
#JSON Web Token,不要泄露到任何地方,可以使用在线网站随机生成,建议16位以上越长越好(不要太长了哈)。
DB_CLIENT=
#如果使用默认SQLite数据库就不需要动了,使用其他数据库对照官方注释修改,包括之后的数据库密码也需要修改。
LINK_LENGTH=
#生成的链接长度,比如 ==https://www.rua.ink/'这里'== 生成的字符数,如果自己使用的话2~3位足够了。
REDIS_ENABLED=
#Redis主机和端口,截取部分,后面的REDIS_都需要填。
DISALLOW_REGISTRATION=
#禁用注册。第一次访问必须创建管理员账户,这个是影响后续的用户注册,不影响管理员后台创建用户。
DISALLOW_ANONYMOUS_LINKS=
#禁用匿名链接创建。如果是自己使用的话建议打开,以免违法链接跳转。
MAIL_ENABLED=
#必须设置!第一次创建管理员也需要发邮件激活,可以临时使用qq邮箱SMTP。截取部分,后面MAIL_都需要设置。
ENABLE_RATE_LIMIT=
# 非常重要!为某些API路由启用速率限制,不管是否开放注册都开启一下,这影响到注册时邮件发送API,不开启的话不管请求
# 多少次都会发送邮件,
# 非常容易反被做攻击机。官方并没有详细解释这个变量,但我自己测试开启后在发送大约5次邮件后会返回 "Too many
# requests, please try again later.",
# 如果需要开放注册的话建议做一些人机验证什么的,但是网上没有相关代码,需要自己研究一下。
配置启动文件docker-compose.yml
官方仓库下有许多 docker-compose.yml 文件,如果使用默认的SQLite数据库部署只需要 docker-compose.yml 即可,其他数据库可以对照文件名进行修改。
基础代码官方已经编辑好了,但是有些地方需要修改:
# yaml语言对空格和文本对齐格式非常严格,编辑完后可以让AI检查一遍格式。
services:
server:
build:
context: .
env_file: #带上这个
- .example.env #环境配置文件名称,修改.example.env文件名字后需要修改这里
environment:
DB_FILENAME: "/var/lib/kutt/data.sqlite"
volumes:
- db_data_sqlite:/var/lib/kutt
- custom:/kutt/custom
ports:
- "127.0.0.1:3000:3000" #端口设置127.0.0.1是因为默认3000:3000,docker会映射外网访问,而且会绕过系统防火墙。
volumes:
db_data_sqlite:
custom:Docker重建 - 不是启动
如果你在 Kutt Docker 启动后又修改了上面两个文件内容,可以使用下面的命令重建 Docker 。
cd <存放docker-compose.yml、.example.env的文件夹>
docker compose up -d --build启动
cd <之前本地下载保存整个仓库的文件夹>
docker compose up正常启动成功后会弹出http://localhost:<端口>/,切记如果使用127.0.0.1:3000映射是需要设置反向代理域名访问。第一次访问会设置管理员账号,需要到邮箱激活后才可以登录。
忘记管理员密码
如果第一次创建管理员时候创建失败(邮箱填错了,密码填错了等),我研究了一下文档并没有官方写出来可以重置的方法,只有在创建管理员后允许发送邮件重置密码。不过第一次部署就忘记管理员密码什么的可以尝试删掉 Docker 重新部署吧。
为什么选择Kutt
之前搭建使用过 YOURLS ,但是界面太过久远 (低情商:老土)。问遍多家 AI 后先是选择了 Shlink ,但是部署 Docker 才发现是前后端分离的,倒是可以使用官方提供的前端管理,但是我觉得这太麻烦了,最后还是选择 Kutt。
Kutt 基本的链接创建、二维码分享、后台管理、访问统计都有,而且最重要一点:界面好看(简洁)还能自定义界面。
结语
有需要的可以来使用我的短链接 https://u.6s.ink(需注册) 。可以付费选择一级域6s.ink/*短链接(虽然没有备案、没有wx、qq防红防白)。
August 1st, 2025 at 11:18 pm
之前我也研究过 自己用不上 就没记录了 哈哈 主要也不知道用在哪儿呀
August 2nd, 2025 at 10:04 pm
用处蛮多的,像是在外网复制的链接分享到国内网络会被监测到,那转个短链接至少在字符上监测不到了 。还有整蛊一下朋友什么的可以用。