Installation
Laravix is a self-hosted CMS built on Laravel 13 and Filament 5. This guide takes you from a fresh clone to a running admin panel.
Requirements
The easiest way to run Laravix is with Docker via Laravel Sail — everything (PHP, MySQL, Meilisearch, Mailpit) ships preconfigured. You'll need:
- Docker Desktop (or Docker Engine + Compose)
- Composer and PHP 8.4 on your host machine (only for the initial install)
- Node.js 20+
1. Clone and configure
git clone https://github.com/MartinKoudela/laravix-cms.git mysite
cd mysite
cp .env.example .env
The default .env works with Sail out of the box. Adjust APP_URL and database credentials only if you run your own stack.
2. Install dependencies
composer install
No PHP on your host? Use the Composer Docker image instead:
docker run --rm -u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" -w /var/www/html \
laravelsail/php84-composer:latest composer install --ignore-platform-reqs
3. Start the containers
./vendor/bin/sail up -d
The vendor directory inside the container lives on a separate Docker volume, so install dependencies inside the container as well:
sail composer install
Tip: add
alias sail='./vendor/bin/sail'to your shell profile.
4. Set up the application
sail artisan key:generate
sail artisan migrate
sail artisan storage:link
sail npm install
sail npm run build
5. Create an admin user
sail artisan cms:user
The command asks for a name, email and password, and whether the user should be a super admin (full access to all sites). For your first user, answer yes.
6. Create your first site
Open http://localhost/admin, log in, and create a Site:
- Domain:
localhostfor local development - Mode: Theme (Laravix renders the frontend) or Headless (you consume the REST API)
- Theme:
default, or your own — see Themes
Your website is now live at http://localhost.
Optional: full-text search
Meilisearch is already running in Sail. To enable typo-tolerant search, set in .env:
SCOUT_DRIVER=meilisearch
and index your content:
sail artisan scout:import "App\Models\Content"
Troubleshooting
Login says the credentials are wrong, but they're correct. The user has neither super admin rights nor an assigned site. Create users with cms:user, which handles this for you.
Frontend has no styles. Run sail npm run build — the Tailwind build must run after any theme change.