Instalace
Laravix je self-hosted CMS postavený na Laravelu 13 a Filamentu 5. Tento návod vás provede od čerstvého klonu po běžící administraci.
Požadavky
Nejjednodušší cesta je Docker přes Laravel Sail — vše (PHP, MySQL, Meilisearch, Mailpit) je předkonfigurované. Budete potřebovat:
- Docker Desktop (nebo Docker Engine + Compose)
- Composer a PHP 8.4 na hostitelském stroji (jen pro prvotní instalaci)
- Node.js 20+
1. Klon a konfigurace
git clone https://github.com/MartinKoudela/laravix-cms.git mujweb
cd mujweb
cp .env.example .env
Výchozí .env funguje se Sailem bez úprav. APP_URL a databázové údaje měňte jen v případě, že provozujete vlastní stack.
2. Instalace závislostí
composer install
Nemáte na hostiteli PHP? Použijte Composer Docker image:
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 kontejnerů
./vendor/bin/sail up -d
Adresář vendor uvnitř kontejneru žije na samostatném Docker volume, proto nainstalujte závislosti i v kontejneru:
sail composer install
Tip: přidejte si do shellu
alias sail='./vendor/bin/sail'.
4. Nastavení aplikace
sail artisan key:generate
sail artisan migrate
sail artisan storage:link
sail npm install
sail npm run build
5. Vytvoření admin účtu
sail artisan cms:user
Příkaz se zeptá na jméno, e-mail a heslo a jestli má být uživatel super admin (plný přístup ke všem webům). U prvního uživatele odpovězte ano.
6. První web
Otevřete http://localhost/admin, přihlaste se a vytvořte Site:
- Doména:
localhostpro lokální vývoj - Mód: Theme (frontend renderuje Laravix) nebo Headless (konzumujete REST API)
- Theme:
default, nebo vlastní — viz článek Themes
Web běží na http://localhost.
Volitelné: fulltextové vyhledávání
Meilisearch už v Sailu běží. Vyhledávání s tolerancí překlepů zapnete v .env:
SCOUT_DRIVER=meilisearch
a naindexováním obsahu:
sail artisan scout:import "App\Models\Content"
Řešení problémů
Přihlášení hlásí špatné údaje, i když jsou správně. Uživatel nemá super admin práva ani přiřazený web. Uživatele vytvářejte přes cms:user, který to vyřeší za vás.
Frontend je bez stylů. Spusťte sail npm run build — Tailwind build musí proběhnout po každé změně theme.