Problem
There are docs on how to backup but non on how to update to latest version, where to place the backup files in the new folders, etc
Proposed solution
According to Claude it's pretty simple. I forget every time and look to the docs and end up asking Claude again:
If you cloned the repo and run it directly (dev setup):
cd instatic
git pull
bun install
bun run dev # or: bun run build && bun run start
Since Instatic bundles its own SQLite/Postgres database and stores content in data_tables/data_rows, your content isn't touched by pulling new code — just back up the database file and uploads folder first as a precaution.
If you're running it via Docker (self-hosted VPS setup): updating is just a redeploy — when a new version is available, pull the latest image and redeploy it. The database and uploads stay on the attached storage volume, so the app container can be replaced without rebuilding the site from scratch. Concretely:
docker compose -f compose.prod.yml -f compose.sqlite.yml pull
INSTATIC_IMAGE=ghcr.io/corebunch/instatic:latest docker compose -f compose.prod.yml -f compose.sqlite.yml up -d
(swap compose.sqlite.yml for your Postgres compose file if that's what you're using).
HOWEVER... this did not work and I was somehow in a branch not the main.
Revised instructions worked:
cd instatic
git checkout main
git pull
bun install
Alternatives considered
No response
Area
No response
Problem
There are docs on how to backup but non on how to update to latest version, where to place the backup files in the new folders, etc
Proposed solution
According to Claude it's pretty simple. I forget every time and look to the docs and end up asking Claude again:
If you cloned the repo and run it directly (dev setup):
Since Instatic bundles its own SQLite/Postgres database and stores content in
data_tables/data_rows, your content isn't touched by pulling new code — just back up the database file and uploads folder first as a precaution.If you're running it via Docker (self-hosted VPS setup): updating is just a redeploy — when a new version is available, pull the latest image and redeploy it. The database and uploads stay on the attached storage volume, so the app container can be replaced without rebuilding the site from scratch. Concretely:
(swap
compose.sqlite.ymlfor your Postgres compose file if that's what you're using).HOWEVER... this did not work and I was somehow in a branch not the main.
Revised instructions worked:
Alternatives considered
No response
Area
No response