This page applies to Curator On-Prem, where you host and manage the server yourself. Full backups are not available
on Curator SaaS, because InterWorks hosts and manages those instances. If you are on Curator SaaS and need to move
your instance, contact support rather than following this page.
Choosing Between a Full Backup and an Export
There are two ways to move Curator content to another server, and they are not interchangeable.- Full backup and restore moves the entire database and web root, including content, users, settings, uploads, theme, and code. Use it when you are replacing a server and want the new instance to match the old one exactly.
- Import/Export moves selected metadata only, such as content, navigation, and settings. Use it when you are seeding a separate environment, or moving content between two instances that both stay in service.
Before You Start
Gather the following from the old server. You will need them later in the process, and some become harder to retrieve once the old server is decommissioned.- The contents of
<web root>/config/database.php, specifically the database host, port, database name, username, and password. The new server needs its own working values, and you will compare the two sets in Step 4. - A copy of
<web root>/.env. This file is not included in a full backup, and it holds theAPP_KEYvalue that Curator uses to encrypt stored secrets. You will carry that key over to the new server in Step 3. - Your Curator license key. The key is stored in Curator’s database, so a full restore normally carries it across, but having it on hand avoids a support round trip if activation fails.
- Any server-level configuration that lives outside Curator’s web root and is therefore not in the backup, such as SSL certificates, virtual host or site bindings, and firewall rules.
Step 1: Install Curator on the New Server
Perform a normal fresh install on the new server using the guide for its operating system: Confirm you can reach the new instance in a browser and log in to its backend before continuing. Restoring over a broken install makes it much harder to tell whether a later problem came from the restore or the install.Curator no longer supports new installations on IIS. If your old server runs IIS, install on Apache on the new
server using the Windows Installation guide. See
IIS Installation for details.
Step 2: Take a Full Backup on the Old Server
On the old server, take a fresh full backup so the restore captures the most recent state.- Click Take New Backup.
- Watch the job to completion under Settings > Curator > Queued Processes.
- Once it finishes, copy the resulting
full_backup_YYYYMMDD_HHMMSS.zipfile off the server. It is written to the directory shown in Backup Location, which is<web root>/storage/tempby default.
Step 3: Carry Over the Encryption Key
Curator encrypts stored secrets, such as Tableau connection passwords, personal access token secrets, and Connected App secrets, using theAPP_KEY value in <web root>/.env. That file is not part of a full backup, and a fresh
install generates its own key. If you restore the old server’s database under the new server’s key, Curator cannot
decrypt those secrets, and every affected connection has to be re-entered by hand.
To keep the saved secrets working, put the old key in place before you restore:
- On the old server, open
<web root>/.envand copy the full value of theAPP_KEYline. - On the new server, open
<web root>/.envand replace the value of itsAPP_KEYline with the copied value. Change only that line. Leave the rest of the file, including any database connection values, as the new install set them. - Restart Curator so the new key takes effect. On Windows, run
stop.batand thenstart.batfrom the Curator install directory. On Linux, restart Apache or PHP-FPM. - Confirm you can still log in to the new instance’s backend.
If the old server’s
.env file is no longer available, you can still complete the move. Restore as normal, then
re-enter the password or secret on each affected connection, starting with your Tableau, Power BI, or ThoughtSpot
connection settings.Step 4: Restore the Backup on the New Server
A full backup contains a database dump and a zip of the old server’s web root. Restoring it overwrites the new server’s database and files with the old server’s, which is what makes the new instance an exact copy.If the Database Connection Details Differ
The web root in the backup includes the old server’sconfig/database.php, and the database dump is written for
the old server’s database name. If the new server’s database host, port, name, username, or password differ from
the old server’s, restoring the archive unmodified can leave Curator pointing at the wrong database, or at one it
cannot reach. Curator checks for this before restoring and refuses to continue when the connection details in the
backup do not work, with an error telling you to fix the database connection first.
Curator can rewrite the connection details inside the archive for you:
- Place the
full_backup_YYYYMMDD_HHMMSS.zipfile in the new server’s Backup Location, which is<web root>/storage/tempby default. - Find the backup in the list and click the wrench icon in the Actions column, labeled Fix database connection in this backup.
- Enter the old server’s database host, database name, database user, and database password. These are the
values you gathered from the old server’s
config/database.phpin Before You Start. Curator already knows the new server’s values and substitutes them in. - Click Queue Fix and confirm the prompt, then watch the job to completion under Settings > Curator > Queued Processes. The backup’s status in the list returns to Ready when the fix is done.
config/database.php, and repacks the backup under its original name, so it takes a while and needs a good deal of
free disk space on the new server.
If the fix job fails, or you prefer to edit the archive by hand, follow the Handling Different Database
Connections steps in
Manual Restoration of Curator Backup instead.
If the connection details are identical on both servers, no fix is needed and you can restore the archive as it is.
Running the Restore
- Place the
full_backup_YYYYMMDD_HHMMSS.zipfile in the new server’s Backup Location, which is<web root>/storage/tempby default, if it is not there already. Curator only lists backups it finds in that directory. - Find the backup in the list, identified by its timestamp, and click the Restore Backup icon, which is the counter-clockwise arrow in the Actions column.
Fix File Permissions
Copying a web root between servers routinely leaves files owned by the wrong user, which shows up afterwards as cache, upload, or job system errors rather than as an obvious restore failure. Correct ownership on the new server using Filesystem Permissions.Step 5: Reactivate the License on the New Server
Curator’s license key is stored in its database, so a full restore usually carries it over to the new server. Log in to the new instance and check Settings > Curator > System Upgrade to confirm the key is present and active. If the key did not carry over or fails to activate, re-enter it by following Updating License Key.Step 6: Verify and Cut Over
Before pointing users at the new server, confirm the following on the new instance:- The portal loads and your content, navigation, and users all appear as they did on the old server.
- Dashboards embed and render correctly. This confirms both that the restored connections to Tableau, Power BI, or ThoughtSpot still work from the new server’s network location, and that the encryption key carried over in Step 3 decrypts their saved credentials.
- Scheduled tasks are running. If backups, exports, or other scheduled jobs never appear, work through the cron troubleshooting guide for Linux or Windows.
- A new full backup completes on the new server.