Instalace a konfigurace
Instalace a konfigurace projektu
Section titled “Instalace a konfigurace projektu”Tento návod vás provede instalací a konfigurací projektu Chytrý Kvíz pro lokální vývoj.
Požadavky
Section titled “Požadavky”Vyberte jeden ze setupů:
S Dockerem (doporučeno)
Section titled “S Dockerem (doporučeno)”- Docker a Docker Compose v2+
Bez Dockeru (pokročilé)
Section titled “Bez Dockeru (pokročilé)”- PHP >= 8.4 s rozšířeními:
zip,json - Composer
- Node.js >= 18 a npm
- MariaDB/MySQL
- Redis
- wkhtmltopdf/wkhtmltoimage (pro Snappy PDF)
Instalace (Docker)
Section titled “Instalace (Docker)”1. Klonování repozitáře
Section titled “1. Klonování repozitáře”git clone <repository-url> chytrykvizcd chytrykviz2. Vytvoření environment souboru
Section titled “2. Vytvoření environment souboru”cp .env.dist .envUpravte hodnoty v .env podle potřeby:
DOMAIN- Doména pro lokální vývoj (výchozí:chytrykviz.local)APP_URL- URL aplikaceSESSION_DOMAIN- Doména pro session cookiesSLACK_WEBHOOK_URL- Slack webhook pro notifikace (volitelné)ADMIN_MAIL- Email administrátora
3. Přidání lokální domény do /etc/hosts
Section titled “3. Přidání lokální domény do /etc/hosts”Pro správnou funkci Vite HMR přidejte do /etc/hosts:
127.0.0.1 chytrykviz.local4. Spuštění Docker kontejnerů
Section titled “4. Spuštění Docker kontejnerů”docker compose up -dDocker vytvoří následující služby:
- nginx - Web server (port 80, 443)
- fpm - PHP-FPM (port 9001)
- db - MariaDB 11 (port 3337)
- redis - Redis (port 6379)
- mailhog - SMTP testing (port 1025, UI port 8025)
- minio - S3 storage (API port 9000, Console port 9002)
- docs - Dokumentace (port 5174)
5. Instalace závislostí
Section titled “5. Instalace závislostí”# PHP závislosti (Composer)docker compose exec fpm composer install
# JavaScript závislosti (npm)docker compose exec fpm npm ci6. Migrace a seedování databáze
Section titled “6. Migrace a seedování databáze”Databáze se inicializuje automaticky z database/dump.sql a database/init.sql při prvním spuštění.
Pro reseedování databáze:
docker compose exec fpm php artisan migrate:fresh --seed7. Build assets
Section titled “7. Build assets”Pro vývoj s hot reload:
docker compose exec fpm npm run devPro produkční build:
docker compose exec fpm npm run build8. Přístup k aplikaci
Section titled “8. Přístup k aplikaci”- Web aplikace: http://localhost nebo https://chytrykviz.local
- Vite HMR: ws://chytrykviz.local:5173
- Mailhog UI: http://localhost:8025
- MinIO Console: http://localhost:9002
- MinIO API: http://localhost:9000
- Dokumentace: http://localhost:5174
SSL certifikát pro lokální vývoj
Section titled “SSL certifikát pro lokální vývoj”Pokud je po roce 2040 nebo pokud prohlížeče přestanou podporovat RSA certifikáty, vygenerujte nový pomocí:
./.docker/local-cert.shOvěření instalace
Section titled “Ověření instalace”Kontrola běžících kontejnerů
Section titled “Kontrola běžících kontejnerů”docker compose psVšechny služby by měly být ve stavu Up.
Test připojení k databázi
Section titled “Test připojení k databázi”docker compose exec fpm php artisan tinker --execute="echo 'DB: ' . DB::connection()->getDatabaseName();"Mělo by vypsat: DB: kviz
Přihlášení do aplikace
Section titled “Přihlášení do aplikace”Použijte některý z testovacích účtů:
- Email:
service@intellirascals.cz - Heslo:
password
Troubleshooting
Section titled “Troubleshooting”Port je již použit
Section titled “Port je již použit”Pokud je některý port již obsazený, upravte docker-compose.yml:
ports: - "8080:80" # Změna portu 80 na 8080Permission denied chyby
Section titled “Permission denied chyby”# Nastavte správná oprávnění pro storage a cachedocker compose exec fpm chmod -R 775 storage bootstrap/cachedocker compose exec fpm chown -R www-data:www-data storage bootstrap/cacheVite HMR nefunguje
Section titled “Vite HMR nefunguje”- Zkontrolujte, že máte
chytrykviz.localv/etc/hosts - Ověřte běžící Vite dev server:
docker compose exec fpm npm run dev - Zkontrolujte konfiguraci v
vite.config.ts
Databáze se nevytvořila
Section titled “Databáze se nevytvořila”# Zastavte kontejnerydocker compose down
# Odstraňte volumes (POZOR: smaže data!)docker compose down -v
# Spusťte znovudocker compose up -dComposer/npm chyby
Section titled “Composer/npm chyby”# Vymažte cache a reinstalujtedocker compose exec fpm rm -rf vendor node_modulesdocker compose exec fpm composer installdocker compose exec fpm npm ci