Help Center

Deploying

Updating apps deployed from templates

When a template gets a new version, see what changed, update with one click (backed up first, rolled back automatically if it fails), skip a version, or turn on automatic minor and patch updates.

Apps you deploy from Templates (n8n, Ghost, Uptime Kuma, Metabase, Gitea and others) run a pinned image version, such as n8nio/n8n:2.43.8. When MarvX publishes a newer version of a template, every app deployed from it is offered the update. Nothing is ever updated without your choice: you decide whether to update now, later, or skip that version.

Where you see it

  • The project page header shows Update available: 2.43.8 → 2.44.0, and the Projects list shows an Update badge on the app.
  • Workspace owners and admins get one notification (the bell, email, and Slack / Discord / Telegram if connected) once per new version, not repeatedly.
  • The project's Updates panel shows the current and available versions, a What changed link (the app's release notes), and the update buttons.

Each update is classified:

  • Patch (2.43.8 → 2.43.9) and minor (2.43.8 → 2.44.0): fixes and new features.
  • Major (6.x → 7.0): marked "Major version — may include breaking changes". Read the release notes first; some majors need manual steps.
  • Update: the version can't be compared (for example an app that ran :latest). Treat it like a major and read the release notes.

What "Update" does

One click runs a safe, ordinary deploy (it doesn't count toward your monthly deploy allowance):

  1. Backup first. If the app has persistent volumes, MarvX backs up every volume and waits for the backups to finish. If a backup fails, the update stops and nothing changes.
  2. Switch the version. The app's image is set to the new tag and deployed. The build log starts with Updating <app> 2.43.8 → 2.44.0, then the backup steps, then the usual deploy steps.
  3. Health check decides. The new version must start and answer HTTP on its port, like any deploy.
  4. Automatic rollback. If the new version fails, MarvX immediately redeploys the previous version. You get a notice: "Update to 2.44.0 failed — rolled back to 2.43.8; your data is unchanged."

MarvX never restores data automatically. The volumes stay as they are. If an update changed your data before failing (for example a database migration inside the app) and the old version can't read it, use Restore the pre-update backup in the Updates panel. Restoring replaces the volume's current data with the copy taken just before the update, so anything written since is lost — only do it if the app doesn't work on its data. The backups are also listed in Volume Backups.

Only one update runs at a time per app. Updating needs the developer role or above; viewers can see that an update is available.

Skip a version

Skip this version hides the offer (badge, panel, notifications) for that version. When the template moves to a newer version, the offer comes back.

Automatic minor & patch updates

Turn on Auto-update minor & patch versions in the project's Updates panel (off by default, per app). Minor and patch updates are then applied automatically during the nightly window (02:00–05:00 UTC) with exactly the same procedure: backup, deploy, health check, automatic rollback. Major versions are never applied automatically, nor is a version you skipped. If an automatic update rolls back, MarvX doesn't retry that version automatically; you can still update by hand once it's fixed.

Questions

  • I changed my app's image myself. It no longer follows its template, so template updates aren't offered.
  • Can I go back after a successful update? Use Deployments → Rollback on the earlier deployment, or redeploy the previous version from General → Provider. Data isn't changed by either; restore the pre-update backup if the older version needs the older data.
  • The update failed and rolled back — what now? Check the failed deployment's build log and AI diagnosis, read the release notes, and try again later or contact support. The app keeps running the previous version.