Recommended: One-line upgrade
Use cow update to pull the latest code and restart the service in one step:
The command runs the following automatically:
- Pull the latest code (
git pull)
- Stop the running service
- Update Python dependencies
- Reinstall the CLI
- Start the service
If the Cow CLI is not installed, ./run.sh update performs the same operations.
Manual upgrade
Run the following inside the project root:
git pull
pip3 install -r requirements.txt
pip3 install -e .
Then restart the service:
# Using Cow CLI (recommended)
cow restart
# Or using run.sh
./run.sh restart
# Or restart manually with nohup
kill $(ps -ef | grep app.py | grep -v grep | awk '{print $2}')
nohup python3 app.py & tail -f nohup.out
Docker upgrade
Run the following in the directory containing docker-compose.yml:
sudo docker compose pull
sudo docker compose up -d
Back up config.json before upgrading. For Docker deployments, mount the workspace directory as a volume to persist data across upgrades.
Desktop client upgrade
The desktop client has built-in auto-update: it checks for new versions automatically and prompts you, so you can download and restart to upgrade in one click.
You can also grab the latest version anytime from the download page.