标签搜索

目 录CONTENT

文章目录

Docker部署一个简洁易用的短链接系统Zurl

yyzq
2025-09-17 / 0 评论 / 1 点赞 / 26 阅读 / 1,115 字

前言

Zurl 是一个轻量级的短链接系统,简单易用,适合快速生成和管理短链接。通过 Docker 部署,你可以轻松配置和运行 Zurl,享受便捷的短链接服务。本文将教你如何快速搭建 Zurl 系统,提升链接管理效率。

项目简介

Zurl是一个简洁易用的短链接系统。
本作者另一个开源项目是之前介绍过的OneNav一个导航网站

demo

演示站点:
https://zurl.demo.mba

用户名:xiaoz
密码:blog.xiaoz.org

项目图片

主界面
image-1758097209108
后台管理界面
image-1758097335716

主要功能

  • 短链接生成:用户可以将长 URL 转换为短链接,方便分享和分发。
  • 链接管理:提供直观的界面,管理员可以在其中查看、编辑和删除链接。
  • 延时统计:系统会延时统计每个短链接的点击次数,避免高并发时压力过大。
  • 自动标题检索:添加链接时,系统会尝试自动检索长 URL 的标题,以便于识别。
  • UA 阻止支持:管理员可以自定义要阻止的用户代理,以防止恶意访问。
  • 数据迁移:支持将 YOURLS 数据迁移到 Zurl,帮助用户过渡。
  • API:提供 API 接口,可供二次开发和集成到任何系统。
  • 短链接到期日期:支持设置短链接到期日期。
  • 自定义站点信息:可以自定义站点的标题、描述等信息。
  • API 令牌管理:提供 API 令牌管理功能,增强安全性。
  • 双语支持:支持中文和英文两种语言。

技术栈

  • 后端:Python3 + FastAPI
  • 前端:Vue3 + Element Plus
  • 数据库:SQLite
  • 缓存:Redis

部署方法

使用Docker安装

本教程使用docker的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf
飞牛云NAS或者其他NAS
可以参考下方VPS部署中docker-compose内容

准备条件

1)一台服务器

我们使用莱卡云VPS来演示
需要vps的可以看以下信息
莱卡云官网

2)本项目使用到的开源项目

https://github.com/helloxz/zurl
image-1758097408174
目前有高达94 stars
更多功能或者二次修改可以访问开源项目地址

3)域名(可选)

域名可以根据自己的需求绑定

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir zurl;cd zurl   #创建一个目录,并进入此目录

然后再新建docker-compose.yml

vim docker-compose.yml
services:
  zurl:
    container_name: zurl  # 容器名称
    image: helloz/zurl  # 使用的镜像
    ports:
      - "3080:3080"  # 映射端口,主机的3080端口映射到容器的3080端口
    restart: always  # 容器总是重启
    volumes:
      - ./data:/opt/zurl/app/data  # 映射本地的 data 目录到容器的指定路径

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

docker-compose ps
NAME      IMAGE         COMMAND                  SERVICE   CREATED          STATUS          PORTS
zurl      helloz/zurl   "docker-entrypoint.s…"   zurl      14 minutes ago   Up 14 minutes   0.0.0.0:3080->3080/tcp, [::]:3080->3080/tcp, 

四、打开web页面使用

成功以后需要打开自己相应的端口3080)防火墙就可以web端访问了

http://ip:3080

初始化
image-1758097608331
使用
image-1758097629740
其他功能自行探索

绑定域名

如需绑定域名的自行绑定

视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1

评论区