Updating
Install a new version of the theme without losing your settings.
Your settings and uploads live in Supabase. Updates replace code. So an update does not touch your branding, colours, page text or rank tables.
The only two things that need attention are file edits you made yourself, and — rarely — new admin panel fields.
Before you start
Take a Supabase backup
In the Supabase dashboard: Database → Backups. Nothing to install, nothing to copy off a server.
Your Storage bucket holds the uploaded images; it is untouched by updates, but a snapshot before a big change never hurts.
Write down your own edits
Check whether you changed any of these, because an update may overwrite them:
| File | You edited it if you… |
|---|---|
next.config.ts | removed the dev origins, added an image host, changed the CSP |
src/lib/i18n/messages/*.ts | reworded the interface |
src/lib/locales.ts | added a language |
src/lib/categoryIcons.ts | added an icon |
public/images/* | replaced artwork |
src/app/(frontend)/globals.css | changed styling |
Dockerfile | deployed with Coolify or Dokploy |
If you keep the project in Git you do not need this list — git diff tells you. That
alone is a good reason to use Git even if you deploy by uploading files.
Applying the update
git add -A
git commit -m "My changes before update"
# add the theme as a remote once, if you have not already
git remote add upstream THEME_REPO_URL
git fetch upstream
git merge upstream/mainGit flags any file you both changed. Open each one, keep your edit alongside the new code, then continue.
Finishing
Reinstall dependencies
npm installUpdate the database structure — only if the update says so
Most updates do not change it. If the release notes mention new admin panel fields, the columns need creating in Supabase.
From your own computer, with DATABASE_URI pointed at your Supabase project and
without NODE_ENV=production:
bun run devThen open http://localhost:3000/admin once. Payload
adds the new columns on start-up, outside production mode. Press Ctrl+C when the
admin panel loads.
Take the Supabase backup first. And do not use bun run seed for this — it
overwrites your content with the theme's defaults.
Check it builds
npm run buildOr bun run check to run the linter and type checker as well. Fix anything it
reports before you deploy.
Deploy
Follow the "Deploying an update" section of your host's page: Pterodactyl · VPS · Vercel · Netlify · Coolify & Dokploy
Test the important paths
- The home page loads
- A category page lists packages
- Adding to the basket works
- Checkout reaches Tebex
/adminlogs in and your settings are intact- Your logo still appears
Do not run bun run seed after an update. It overwrites globals with the theme's
default content, so your footer text, about page and rank tables would be replaced.
Seeding is a first-install step only.
Keeping dependencies patched
Separately from theme updates, the libraries underneath get security fixes:
bun update
bun run checkIf bun run check passes, deploy. If not, roll back and update one package at a time
to find the culprit.
If an update goes wrong
Put the old code back
With Git: git reset --hard HEAD~1. Without Git: restore your previous folder.
Restore the database, only if you changed its structure
In the Supabase dashboard: Database → Backups → restore the snapshot you took.
Rebuild and restart
npm install
npm run buildThis is exactly why the backup step comes first.