Installation
Requirements
Before installing, make sure your environment meets these requirements:
- PHP 8.1 or higher
- Laravel 10, 11, 12, or 13
- MySQL 5.7+ (recommended) or MariaDB 10.3+ — the officially supported database
Database support
FalconCMS is built and tested on MySQL / MariaDB, which are the only fully supported databases. We strongly recommend MySQL 8+ for production.
SQLite is not recommended. It may work for a quick local look, but some features rely on MySQL-specific behaviour and will not work correctly on SQLite. Do not use SQLite for production or for evaluating the full feature set.
PostgreSQL and SQL Server are not supported.
Install via Composer
composer require falconcms/falconcmsRun the Installer
php artisan falcon:installThis single command handles everything:
- Runs all database migrations
- Publishes assets (CSS, JS)
- Publishes the default theme
- Creates a storage symlink
- Creates the default admin user
INFO
Your admin credentials will be displayed in the terminal after installation.
Access the Dashboard
Open your browser and go to:
http://your-app.test/adminLog in with the credentials shown after falcon:install.
Manual Steps (if needed)
If you prefer to run steps individually:
# Run migrations only
php artisan migrate
# Publish assets
php artisan vendor:publish --tag=falcon-cms-assets --force
# Publish themes
php artisan vendor:publish --tag=falcon-cms-themes --force
# Create storage symlink
php artisan storage:linkUpdating
From the dashboard (recommended)
Go to Dashboard → Updates. When a new version is available, tick the backup confirmation and click Run Update Now — FalconCMS pulls the latest release with Composer, runs falcon:update (migrations, assets, themes, cache) and refreshes the OPcache for you. No terminal needed.
Manually (if the dashboard updater can't run)
Some hosts disable exec() or ship without a CLI Composer. In that case, run:
composer update falconcms/falconcms
php artisan falcon:updateINFO
falcon:update refreshes assets, themes and permissions without touching your content. The dashboard updater runs exactly these steps for you.
Uninstalling
FalconCMS ships with two uninstall commands.
Full removal
Removes everything cleanly — database tables, the trait the installer added to App\Models\User, published files, and the Composer package itself — so your app keeps booting with no leftover errors:
php artisan falcon:uninstallRun it before composer remove
falcon:uninstall is part of the package, so run it while the package is still installed — it performs the composer remove for you at the end. Running composer remove falconcms/falconcms first would leave the HasCmsPermissions trait referenced in your User model and crash the app.
Options:
| Option | Effect |
|---|---|
--all | Also drop shared Laravel tables (users, sessions, cache, jobs, …) for a full wipe |
--force | Skip the confirmation prompt |
--keep-files | Keep published views, themes and assets |
--no-composer | Don't run composer remove automatically |
Database only
Drops just the FalconCMS tables (and their migration records), leaving the package code, published files and User model trait in place — handy to wipe data and start fresh with php artisan falcon:install or php artisan migrate:
php artisan falcon:uninstall-dbSupports --all and --force.
