Cubed Docs
Reference

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:

FileYou edited it if you…
next.config.tsremoved the dev origins, added an image host, changed the CSP
src/lib/i18n/messages/*.tsreworded the interface
src/lib/locales.tsadded a language
src/lib/categoryIcons.tsadded an icon
public/images/*replaced artwork
src/app/(frontend)/globals.csschanged styling
Dockerfiledeployed 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/main

Git flags any file you both changed. Open each one, keep your edit alongside the new code, then continue.

Finishing

Update 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 dev

Then 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 build

Or 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
  • /admin logs 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 check

If 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 build

This is exactly why the backup step comes first.

On this page