Skip to content

Updating

If you have the GitHub Actions deploy pipeline configured, every push to main automatically deploys to your server. No manual steps needed — just wait for the workflow to complete (2–3 minutes).

Check deploy status at: https://github.com/oneofthegeeks/geekonomics-app/actions

Manual update

SSH into your server and run:

bash
cd /mnt/user/appdata/geekonomics-app
git pull origin main
docker compose up -d --build
docker image prune -f     # clean up old image layers

Database migrations

Schema changes run automatically when the container starts. You don't need to run any migration commands manually. If a migration fails, the container logs will show the error.

To check the current schema version:

bash
docker exec geekonomics sqlite3 /app/data/geekonomics.db "PRAGMA user_version;"

Rolling back

If an update causes issues:

  1. Find the previous commit hash:

    bash
    git log --oneline -10
  2. Check out that version and rebuild:

    bash
    git checkout <commit-hash>
    docker compose up -d --build
  3. If the update ran a database migration, the rolled-back code may not be compatible with the newer schema. In that case, also restore a database backup from before the update.

Checking what version is running

The deploy pipeline writes the deployed commit hash to data/deployed_version.txt. Check it:

bash
cat /mnt/user/appdata/geekonomics-app/data/deployed_version.txt

Or from inside the container:

bash
docker exec geekonomics cat /app/data/deployed_version.txt

Geekonomics — self-hosted bookkeeping for small businesses