Upgrade
Run git fetch --tags, check out the release you want, then run upgrade. It backs up first and stops if the backup fails; the database is migrated when the service starts.
sudo ./scripts/suduo-cloud.sh upgradeSelf-hosting
There is no hosted SuDuo. Your team installs the server on a Linux machine of its own, and everyone runs the client on their own computer. Repositories, Codex sessions and model credentials stay on each person's machine, with no SuDuo service in between.
Once per team
Keeps projects, requirements, comments, attachments and discussion rooms. A Linux server with Docker, set up with one script.
Once per person
Runs the SuDuo client and the Codex CLI. Repositories, Codex sessions and model credentials stay here.
Run these on the server, in order. The full deployment guide covers HTTPS, day-to-day operations and troubleshooting.
On Ubuntu you can use Ubuntu's own packages, or Docker's official ones.
sudo apt update
sudo apt install -y docker.io docker-compose-v2 docker-buildx gitUse a release tag rather than main. Clients and the server should run the same version; the client tells you when they differ.
git clone https://github.com/Im-Sue/suduo-workbench.git
cd suduo-workbench
git checkout "$(git describe --tags --abbrev=0)" # the latest release tag
cd cloudIn mainland China, add --mirror cn to build with mirrors that are reachable there. The first build takes about 3–8 minutes; when the server is ready, the script prints its address.
sudo ./scripts/suduo-cloud.sh installThe script's messages follow the server's locale, and Ubuntu servers often default to English. To choose the language yourself, put SUDUO_LOCALE after sudo (before sudo it has no effect).
sudo SUDUO_LOCALE=en ./scripts/suduo-cloud.sh installThen each team member enters that address under Settings → Requirements service in the client and registers an account.
The same script handles day-to-day operations. Run it in the server's cloud/ directory.
Run git fetch --tags, check out the release you want, then run upgrade. It backs up first and stops if the backup fails; the database is migrated when the service starts.
sudo ./scripts/suduo-cloud.sh upgradeBacks up the database together with attachments and room files, so they always match. The service pauses while it copies, longer for more data. Backups go to /var/backups/suduo/<timestamp> by default.
sudo ./scripts/suduo-cloud.sh backupReplaces all current data with a backup. It backs up the current data first, then restores and starts the version that is checked out, so rolling back means checking out the previous tag and restoring the backup from before the upgrade.
sudo ./scripts/suduo-cloud.sh restore /var/backups/suduo/<timestamp>There is no installer yet, so the client runs from source. The commands are the same in Terminal on macOS and PowerShell on Windows. You don't need to install Codex separately; pnpm install brings the Codex CLI version this release is tested with.
git clone https://github.com/Im-Sue/suduo-workbench.git
cd suduo-workbench
git checkout "$(git describe --tags --abbrev=0)" # use the same release as your server
cd client
pnpm install
pnpm startpnpm start checks your environment, builds SuDuo the first time (about 1–2 minutes), starts it on http://127.0.0.1:8787 and opens your browser. Press Ctrl+C to stop it.
pnpm exec codex login in the client/ directory, or set your model service under Settings → Model service (this changes ~/.codex, so the Codex CLI you run yourself uses it too)If downloads from npm are slow or fail (for example in mainland China), run pnpm config set registry https://registry.npmmirror.com, then pnpm install again.