Management
Backups & Rollback
When backups are taken, what they contain, how many are kept, and how to restore one — including what a rollback does not restore, and rolling back across versions.
Every change that replaces the page first takes a backup of the current state, and row-template rollback restores one. A rollback restores Row-Template’s page and the version it records; it always keeps your current branding.
What a rollback does not restore
- The manager itself. The
row-templatecommand, the management library and its components stay the version you run now. After rolling back to a backup taken under 1.1.0,row-template versionreports 1.1.0 while the 1.4.0 manager stays in place — and the nextrow-template updatereturns to the latest release. - Your panel. A rollback never downgrades or restores the panel, and never changes which page the panel selects. On PasarGuard and Rebecca it only replaces the placed copy of the page; nothing is restarted.
- Your branding, which is always the current one.
When backups are taken
| Action | Backup |
|---|---|
row-template update |
Before anything is replaced. If it cannot be taken, the update stops. |
| Switching template | Before the switch. If it cannot be taken, the switch stops. |
| Re-running the installer on an existing install (repair) | Before the files are replaced. |
row-template rollback |
A safety snapshot of the current version, before restoring the older one. |
Only the two newest backups are kept. After a successful install, update or template switch, backups are pruned to the two newest valid ones; folders that are not valid backups are left alone. Because each update, design switch and rollback makes a backup, the one an update took of the previous version is replaced after two further changes — roll back soon if you need it.
On PasarGuard and Rebecca, activation also snapshots the panel’s own settings, under backups.v2/. Those snapshots are what activation restores from when it fails, and what uninstall uses to put the panel back; rollback does not use them.
Where they are
In backups/ inside the install directory — /etc/3x-ui/sub_templates/row-template/backups/ on 3X-UI, /etc/row-template/backups/ on PasarGuard and Rebecca:
backups/
├── 20260926T101500Z__1.2.0/
└── 20260926T102210Z__1.3.0/
Each folder is named <UTC time>__<version> and is readable only by root. It holds:
| File | Content |
|---|---|
template.html |
The design that was installed, pristine |
template.html.sha256 |
Its checksum — a backup whose page no longer matches is ignored |
VERSION |
The version that was installed |
config.env |
The branding at that time — kept for reference; rollback does not restore it |
meta |
When it was taken, the version, the design, and the panel it was made on |
Roll back
row-template rollback
Restores the newest valid backup — after an update, that is the version you had before it. --auto means the same thing.
To choose a backup, name its folder (or give its full path):
ls /etc/3x-ui/sub_templates/row-template/backups/ # or /etc/row-template/backups/
row-template rollback --to 20260926T101500Z__1.2.0
Only folders inside backups/ are accepted, only when the page in them still matches its checksum, and only when the backup was made on the panel this installation serves — a page built for one panel’s template engine is never restored onto another. Backups made before 1.3.0 count as 3X-UI backups.
What happens:
A safety snapshot is taken
The current version is backed up first, so it is never lost.
The backup is staged
Its page becomes the installed design and its VERSION is restored. Which design it is, is worked out from the page itself by comparing it with the designs in the template store, and your selection is updated to match.
The live page is regenerated
From the restored design and your current branding, then validated and swapped in. On PasarGuard and Rebecca the copy in the panel’s templates directory is replaced as well.
If that fails, the current version comes back
The safety snapshot is restored and you see restored the previously-running version; nothing changed.
Undoing a rollback
The safety snapshot is now the newest backup, so running row-template rollback again returns you to the version you rolled back from.
Rolling back across versions
A backup’s page is matched, byte for byte, against the designs in the current template store:
- If it matches one, that page is restored as it is.
- If it matches none — the backup was made by an older release, such as 1.1.0 — rollback restores the design the backup records instead, taken from the designs installed now. A backup that records no design (older releases did not), or one this release does not ship, restores as Row. You see:
The backup's page is not one of this release's designs; restoring Row from the installed designs.
A backup whose page is none of this release’s designs — every backup taken before 1.4.0, since every design changed — is restored as the design it records, else as the design its saved settings selected, and only then as Row; the design is restored from the installed designs.
Either way the backup’s VERSION is restored, so row-template version reports the older version, while the page, the manager and the panel stay on what you run now. The next row-template update returns everything to the latest release.
Running an older release again
A rollback cannot take you back to running 1.1.0 or 1.2.0. If you must, uninstall Row-Template and install that release from a local folder holding its release files — see Manual installation. Releases before 1.3.0 support 3X-UI only. You will be asked for your branding again, so note your service name and support link and keep your logo file first.
Backups and uninstall
Backups live inside the install directory, so row-template uninstall removes them together with everything else.