Puo's 菜园子 学习园地 http://puo.cn
易记网址: http://wordpress.cn.com

sublink pro一键安装及一键升级

安装:https://sublink.6916                          admin     D

安装指南:https://github.com/ZeroDeng01/sublinkPro/blob/main/docs/installation.md

 Docker Compose 运行(推荐)

 

Tip

推荐使用 Docker Compose 部署,便于管理配置、升级和维护。

Important

db/template/logs/ 属于运行时持久化目录,请在升级和迁移时保留。

创建 docker-compose.yml 文件:

services:
  sublinkpro:
    # image: zerodeng/sublink-pro:dev # 开发版(功能尝鲜使用)
    image: zerodeng/sublink-pro # 稳定版
    container_name: sublinkpro
    ports:
      - "8000:8000"
    volumes:
      - "./db:/app/db"
      - "./template:/app/template"
      - "./logs:/app/logs"
    restart: unless-stopped

启动服务:

docker-compose up -d

 

Docker 运行

 

稳定版
docker run --name sublinkpro -p 8000:8000 \
  -v $PWD/db:/app/db \
  -v $PWD/template:/app/template \
  -v $PWD/logs:/app/logs \
  -d zerodeng/sublink-pro
开发版(功能尝鲜)

📝 一键安装/更新脚本

 

wget https://raw.githubusercontent.com/ZeroDeng01/sublinkPro/refs/heads/main/install.sh && sh install.sh

Note

安装脚本支持以下功能:

  • 全新安装:首次安装时自动完成所有配置
  • 更新程序:检测到已安装时,可选择更新(保留所有数据)
  • 重新安装:可选择是否保留现有数据
  • 恢复安装:检测到旧数据时,可选择恢复安装

🗑️ 一键卸载脚本

 

wget https://raw.githubusercontent.com/ZeroDeng01/sublinkPro/refs/heads/main/uninstall.sh && sh uninstall.sh

Note

卸载脚本会询问是否保留数据目录(db、logs、template),选择保留可用于后续重新安装时恢复数据。


🔄 项目更新

 

📝 一键脚本更新

 

如果您使用一键脚本安装,可以再次运行安装脚本进行更新:

wget https://raw.githubusercontent.com/ZeroDeng01/sublinkPro/refs/heads/main/install.sh && sh install.sh

脚本会自动检测已安装的版本,并提供以下选项:

  • 更新程序:保留所有数据,仅更新程序文件
  • 重新安装:可选择是否保留数据

📦 Docker Compose 手动更新

 

# 进入 docker-compose.yml 所在目录
cd /path/to/your/sublinkpro

# 拉取最新镜像
docker-compose pull

# 重新创建并启动容器
docker-compose up -d

# (可选)清理旧镜像
docker image prune -f

🐳 Docker 手动更新

 

# 停止并删除旧容器
docker stop sublinkpro
docker rm sublinkpro

# 拉取最新镜像
docker pull zerodeng/sublink-pro

# 重新启动容器(使用与安装时相同的参数)
docker run --name sublinkpro -p 8000:8000 \
  -v $PWD/db:/app/db \
  -v $PWD/template:/app/template \
  -v $PWD/logs:/app/logs \
  -d zerodeng/sublink-pro

# (可选)清理旧镜像
docker image prune -f

🤖 Watchtower 自动更新

 

Watchtower 是一个可以自动更新 Docker 容器的工具,非常适合希望保持项目始终最新的用户。

方式一:独立运行 Watchtower

 

docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --cleanup \
  --interval 86400 \
  sublinkpro

Note

  • --cleanup:更新后自动清理旧镜像
  • --interval 86400:每 24 小时检查一次更新(单位:秒)
  • 最后的 sublinkpro 是要监控更新的容器名称,不指定则监控所有容器

方式二:集成到 Docker Compose

 

在您的 docker-compose.yml 中添加 Watchtower 服务:

services:
  sublinkpro:
    image: zerodeng/sublink-pro
    container_name: sublinkpro
    ports:
      - "8000:8000"
    volumes:
      - "./db:/app/db"
      - "./template:/app/template"
      - "./logs:/app/logs"
    restart: unless-stopped

  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_POLL_INTERVAL=86400
    restart: unless-stopped
    command: sublinkpro  # 只监控 sublinkpro 容器

Tip

Watchtower 高级配置

  • 可以设置 WATCHTOWER_NOTIFICATIONS 环境变量来配置更新通知(支持邮件、Slack、Gotify 等)
  • 更多配置请参考 Watchtower 官方文档

☁️ Zeabur 部署

 

https://zeabur.com/projects

部署步骤:

  1. 新建项目与 Service

    • 点击 “创建项目” > “Docker 容器镜像”
    • 输入镜像名称:zerodeng/sublink-pro:latest (推荐稳定版 latest,开发版 dev 用于测试新功能)
    • 配置端口:8000 (HTTP)
    • 配置卷(重要)
      • 点击卷
      • 点击 “添加卷” 添加新卷
      • 卷名称 > 容器路径
      sublink-db = /app/db
      sublink-template = /app/template
      sublink-logs = /app/logs
  2. 配置环境变量

    环境变量中添加:

    # 基础配置
    SUBLINK_PORT=8000
    # 可选:切换到 MySQL/PostgreSQL 时设置
    # SUBLINK_DSN=mysql://user:pass@tcp(mysql:3306)/sublink?charset=utf8mb4&parseTime=True&loc=Local
    SUBLINK_LOG_LEVEL=error
    SUBLINK_EXPIRE_DAYS=14
    
    # 登录安全
    SUBLINK_ADMIN_PASSWORD=123456 #默认管理员密码,仅首次启动有效
    SUBLINK_LOGIN_FAIL_COUNT=5
    SUBLINK_LOGIN_FAIL_WINDOW=1
    SUBLINK_LOGIN_BAN_DURATION=10
    
    # 安全密钥 !需填写! 随机32位以上字符串
    SUBLINK_JWT_SECRET=
    SUBLINK_API_ENCRYPTION_KEY=
    
    # 验证码(1为关闭)
    SUBLINK_CAPTCHA_MODE=2
  3. 部署完成

    • Zeabur 会自动拉取镜像并启动服务
    • 等待服务就绪后,需要手动设置访问域名(见下一步)
  4. 设置访问域名(必须)

    • 在服务页面,点击 “Networking” 或 “网络” 标签
    • 点击 “Generate Domain” 生成 Zeabur 提供的免费域名(如 xxx.zeabur.app
    • 或者绑定自定义域名:
      • 点击 “Add Domain” 添加你的域名
      • 按照提示配置 DNS CNAME 记录指向 Zeabur 提供的目标地址
    • 设置完域名后即可通过域名访问,使用默认账号 admin / 123456 登录

 

 

 项目简介

 

SublinkPro 是基于优秀的开源项目 sublinkX / sublinkE 进行二次开发,在原项目基础上做了部分定制优化。感谢原作者的付出与贡献。

 

🚀 快速开始

 

Docker Compose(推荐)

 

Important

运行时数据默认保存在以下目录中,请在升级和迁移时保留:

  • ./db:数据库、配置文件、GeoIP 等本地数据
  • ./template:模板文件
  • ./logs:运行日志

创建 docker-compose.yml

services:
  sublinkpro:
    image: zerodeng/sublink-pro
    container_name: sublinkpro
    ports:
      - "8000:8000"
    volumes:
      - "./db:/app/db"
      - "./template:/app/template"
      - "./logs:/app/logs"
    restart: unless-stopped

启动服务:

docker-compose up -d

访问 http://localhost:8000,使用默认账号 admin / 123456 登录。

默认使用 SQLite;如需切换到 MySQL 或 PostgreSQL,可通过 SUBLINK_DSN、配置文件 dsn: 或命令行 --dsn 指定数据库连接,示例见 ⚙️ 配置说明

Note

即使配置了 SUBLINK_WEB_BASE_PATH 隐藏管理界面入口,API (/api/*) 与订阅/分享访问路径 (/c/*) 仍保持在根路径下,这是本项目特有的前后端集成行为。

Tip

更多安装方式(Docker、一键脚本、更新升级等)请参阅 📦 安装部署指南

从 SQLite 迁移到 MySQL / PostgreSQL

 

如果您早期使用的是 SQLite,现在希望迁移到 MySQL 或 PostgreSQL,建议按以下流程操作:

  1. 在旧的 SQLite 实例中登录后台,点击右上角头像菜单中的 系统备份,导出 backup.zip
  2. 在新实例中配置好 MySQL 或 PostgreSQL 的 DSN,并确保目标库是一个全新的空库
  3. 启动新实例后,进入 设置 -> 数据迁移
  4. 上传旧实例导出的 backup.zip
  5. 根据需要选择是否迁移 AccessKey、订阅访问日志,然后开始迁移
  6. 迁移完成后,请手动重启项目实例,再重新登录检查数据

Important

推荐使用 backup.zip 迁移。直接上传 .db 只会迁移数据库记录,不会恢复模板目录。

Note

如果迁移了 AccessKey,请确保新旧实例使用相同的 API 加密密钥;否则旧 API Key 可能无法继续使用。

Tip

如果迁移完成后提示“有 N 条警告”,可以到 任务中心 打开对应的“数据库迁移”任务查看详细警告内容。

打赏
谢谢谅解上文的粗糙,允许转载,请注明转载地址:Puo's 菜园子 » sublink pro一键安装及一键升级
分享到

评论 抢沙发

做一个好的个人学习园地

主要网建,域名、集装箱物流、生活方法论的学习及研究,整理等内容

我的原创博客-忆秋年Puo's菜园子-我的学习园地

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册