Maintenance

Updating Luster

Use the built-in admin panel autoupdater, or upload the newest release manually if needed.

Important!

Before You Start

Make a backup of your Luster database before you do anything. The updater will prompt you to download a .zip of your most current files as part of the update process anyway, but it's good practice to have one on your computer before you even start.

How to back up your database

  • cPanel - Look for phpMyAdmin under the Databases section. Click your database name in the left sidebar, then click Export at the top and hit Go. That saves a copy of all your data to your computer.
  • Plesk - Look for Databases → Export Dump.

Normal Path

Updating Through the Admin Panel

This is the normal way to update. The whole thing happens in your browser.

  1. Open the update page

    When a new version is out, you’ll see a banner on the dashboard. Click Update Luster to go to the update page. You can also reach it through Settings → System Info.

  2. Prepare the update

    Click Prepare Update. Luster reaches out to GitHub, downloads the new release, and checks it to make sure the file wasn't corrupted or tampered with. It also checks that your server has everything it needs (enough disk space, writable folders, etc.).

    If all the checks pass, you'll see a green summary, a Changes In This Update card, and a button to download your backup.

    The Changes In This Update card previews two things before you commit to anything: files that will be removed (old files no longer part of the new release — you can expand the list to see exactly which ones), and what happens to public/.htaccess. If your live file still matches what Luster itself last wrote there, it's silently updated to the new release's default. If you've customized it, it's never touched or overwritten automatically — you'll see a warning instead, with a preview of the new default and a download link, so you can merge in anything you need by hand. Once you have, click I've reviewed and merged this myself so the warning doesn't reappear next time.

  3. Download your Backup

    Click Download Backup. This saves a ZIP file to your computer with all of your Luster files and a full database dump. Keep it somewhere safe. If an update goes sideways for whatever reason, this ZIP will help you recover everything and get back to exactly where you left off before updating.

  4. Apply the Update

    Tick the box confirming you've saved the backup, then click Apply Update. Luster copies the new files into place, deletes any obsolete files previewed in the step above, and reconciles public/.htaccess as described there. Your settings file (config/app.php) is never touched, so your database credentials and all your settings stay exactly as they are.

    vendor/ (Luster's bundled dependencies) is fully managed by the updater like any other release file — it's rebuilt to match what the new release ships. You never need to run Composer yourself. public/uploads/ and storage/ are never touched by an update, same as always.

  5. Run the Migration Runner

    After the files are updated, Luster sends you straight to the migration runner. This is a separate page that makes any database changes the new version needs: new tables, new columns, etc. Click Run Migrations and let it apply any pending migrations to your install. Then, you're done!

Fallback

Manual Updates

Sometimes an update can’t be applied automatically — usually because the release is missing the security file that Luster uses to verify the download. When that happens, the update page will say so and give you a link to the release on GitHub.

  1. Download the Latest Release

    Go to the Luster releases page and download the most recent .zip file.

  2. Extract over your existing install

    Extract the ZIP and upload all the files to your server, overwriting everything.

    Never overwrite config/app.php. It contains your database credentials and site settings. Upload everything except config/app.php, or at a minimum protect that file. Everything else is safe to overwrite.

    If the new release includes new settings in config/app.sample.php, you can add them to your existing config/app.php by hand - new settings always have safe defaults, so nothing breaks if they're missing.

  3. Run the migration runner

    Visit the migration runner in your browser:

    URL
    https://yoursite.com/luster/public/migrate/

    Log in to the admin panel first if you haven't already; the migration runner checks for an active admin session.

    Click Run Migrations and wait for it to finish. You'll get a message confirming your migration has completed succesfully. If some did not apply, that's okay, you can re-run the migration runner again!

Recovery

If the Migration Runner Shows an Error

The migration runner is safe to re-run — already-completed migrations are skipped, so you won't get duplicates. If something errors, just go back and run it again. A single failure won't stop the rest.

Most migration errors happen because the database table the migration was trying to change already has what it needs (maybe from a previous partial run, or from a manual change). In that case, the migration is effectively done even though it reported an error.

You can check and fix this in phpMyAdmin or your database manager:

  1. Read The Error

    The run log will name the migration number that failed and what went wrong. Copy that message.

  2. Check the Migrations Table

    Open phpMyAdmin from your host’s control panel. Select your database on the left, find the lstr_migrations table, and click Browse. If the failing migration number is not listed there, you can add it manually — click Insert, put the number in the migration_number field, and save. Then re-run the migration runner.

  3. Restore From Backup (if needed)

    If the error looks more serious and your site is broken, restore from the backup ZIP you downloaded before updating. Then report the issue through your admin panel's Send a Report form, or go to the contact page to find more ways to reach out.