Ledger – Open Support Framework

System Updates

2026-02-02 · Updated 2026-02-04

Keeping Ledger Up to Date

Ledger manages updates and database schema migrations automatically via the GitHub API. It is designed to update the core logic while preserving your data and configuration.


1. Checking for Updates

The system automatically polls the GitHub repository for the latest release.

  • Current Version: Displayed at the top. This is parsed from admin.php.
  • Status Badges: * Up to date: You are on the latest stable release.
    • Update Available!: A newer version has been detected on GitHub.

2. Installing an Update

When an update is available, clicking Install Update triggers the following automated sequence:

  1. Backup: A ZIP archive of your current root PHP files and the /includes directory is created and stored in /backups.
  2. Download: The latest release package is fetched from the private repository.
  3. Extraction: The ZIP contents are extracted directly into the application root, overwriting existing files.
  4. Auto-Migration: The system immediately attempts to run any new database migrations required by the new version.

3. Database Migrations

Migrations ensure your MariaDB schema (Port 3307) matches the application's requirements.

  • Automatic: These run during the update process.
  • Manual: Use the Run Migrations button if you have manually uploaded files or need to verify the schema state.
  • Status: The system will report "Database up to date" or show the count of "pending migrations."

4. Post-Update & Recovery

  • Success Message: A green alert will confirm the update and provide the filename of the backup created.
  • Failure: If the update fails (e.g., network timeout or permissions error), the system will display a red alert with the specific error.
  • Rollback: If an update causes issues, navigate to the /backups directory via your file manager and restore the most recent ZIP.

Important Notes

  • Permissions: Ensure the web server has write access to the root directory and the /backups folder.
  • Preserved Files: Your db.php configuration, uploads/ folder, and the MariaDB binaries are not touched during the update process.

Troubleshooting

If you see "Unable to connect to GitHub," this usually means your server's firewall is blocking the connection or your access token needs to be refreshed. 

Any problems, report to the Troubleshooting section of the forums.


Is this document high quality? Or does it need improvement? High ranking articles display in the footer, admin notified if improvements required.

Log in to rate this document
Rating: 0.0 / 5 (0)