Skip to content

Docker Release

lqdflying edited this page Aug 26, 2026 · 3 revisions

Docker Release

Releases are automated via GitHub Actions on version tags.

Version Scheme

  • v2.0.0 → pushes lqdflying/chathub:2.0.0 and :latest (GA only)
  • v2.0.1-canary.1 → pushes lqdflying/chathub:2.0.1-canary.1 (does not touch :latest)

ChatHub versioning is independent of upstream LobeChat. After v2.0.0, canaries are always a pre-release of the next unreleased version.

GA Release

# 1. Verify all intended files are staged
git status

# 2. Bump version in package.json on main, then:
git add package.json && git commit -m "🔖 chore: bump version to vX.Y.Z"

# 3. Tag and push — GitHub Actions builds and pushes to Docker Hub
git tag vX.Y.Z && git push origin main && git push origin vX.Y.Z

Canary Release

  1. Continue on the current fix/<slug> or feat/<slug> branch (create one only if you are on main)
  2. Commit on the branch with a gitmoji prefix. Do not bump package.json on the feature branch.
  3. Determine canary version — always a pre-release of the next unreleased version:
    • If current GA is 2.0.0, canary = v2.0.1-canary.N
  4. Push branch and tag:
git push -u origin <branch>
git tag v2.0.1-canary.1
git push origin v2.0.1-canary.1

Docker Build Details

The docker-release.yml workflow:

  • Frees unused runner disk (preinstalled SDK trees, docker system prune) before docker build
  • Builds on ubuntu-latest
  • Pushes to docker.io/lqdflying/chathub

Recovery

gh run cancel <run-id> -R lqdflying/chathub
git push --delete origin vBAD && git tag -d vBAD
git tag vGOOD && git push origin vGOOD

Clone this wiki locally