Docker 自托管 Shlink 短链服务

Docker 自托管 Shlink 短链服务

💡 原文中文,约7300字,阅读约需18分钟。
📝

内容提要

Shlink 是一款自托管的 PHP 网址缩短服务,支持多种运行时。用户可使用 shlink-dashboard 作为管理面板,并选择 PostgreSQL 作为数据库。通过 Docker 部署时,需要配置相关服务和环境变量以确保数据库正常运行。配置 Nginx 反向代理后,可访问管理面板,默认登录信息为 admin。

🎯

关键要点

  • Shlink 是一款基于 PHP 的自托管网址缩短服务,支持多种 PHP 运行时。
  • 推荐的默认运行方式是 RoadRunner,它通过多个 Worker 将 Shlink 常驻于内存中运行。
  • Shlink 后端服务与 Web 管理后台是分离的,提供 shlink-web-client 和 shlink-dashboard 两种管理面板。
  • 选择 shlink-dashboard 作为管理面板,并使用 PostgreSQL 作为数据库。
  • 需要准备 Docker 模板,配置 PostgreSQL 和 Shlink 后端服务。
  • 创建 init-db.sql 文件以初始化数据库,确保创建两个可用的数据库。
  • 使用 Shlink CLI 工具生成访问密钥,用于后续 Web 管理面板添加服务器。
  • 将 Shlink 和 shlink-dashboard 配置到同一个 Nginx 虚拟主机反向代理中。
  • 检查 Nginx 配置并重载,访问管理面板时默认用户名和密码为 admin。

延伸问答

Shlink 是什么类型的服务?

Shlink 是一款基于 PHP 的自托管网址缩短服务。

如何使用 Docker 部署 Shlink?

需要准备 Docker 模板,配置 PostgreSQL 和 Shlink 后端服务,并创建 init-db.sql 文件初始化数据库。

Shlink 支持哪些 PHP 运行时?

Shlink 支持 RoadRunner、FrankenPHP 和传统的 Web Server + FastCGI 运行方式。

如何配置 Nginx 反向代理以访问 Shlink 管理面板?

需要将 Shlink 和 shlink-dashboard 配置到同一个 Nginx 虚拟主机反向代理中,并检查 Nginx 配置。

Shlink 的默认管理面板是什么?

Shlink 的默认管理面板是 shlink-dashboard,它支持高级用户认证和角色管理。

如何生成 Shlink 的访问密钥?

使用 Shlink CLI 工具运行命令 'shlink api-key:generate' 来生成访问密钥。

➡️

继续阅读