Wymagania
PHP 8.3+ z pdo_mysql lub pdo_sqlite, mbstring, openssl, tokenizer, xml, ctype, json oraz intl.
MySQL lub MariaDB do produkcji. SQLite wystarczy do oceny. Ustaw document root serwera WWW na public/. Dodaj jeden wpis cron dla sprawdzeń SSL, przypomnień i kolejki poczty.
Composer 2 i Node.js 20+ są potrzebne tylko przy instalacji ze źródeł. Archiwum wydania zawiera już zależności PHP i skompilowane assety frontendowe.
Archiwum wydania i instalator WWW
Pobierz najnowszy duvento.zip, rozpakuj, skieruj nginx lub Apache na public/ i daj użytkownikowi PHP prawo zapisu do katalogu głównego projektu (dla .env), storage/ oraz bootstrap/cache/.
Otwórz witrynę. Duvento przekieruje na /install. Kreator: język → sprawdzenie serwera → baza danych → migracje → administrator. Zapisz wygenerowany URL admina i dodaj linię cron pokazaną na końcu.
Po udanej instalacji /install zwraca 404 (plik blokady lub istniejący użytkownik/admin) i nie może zresetować instancji. Kreator zapisuje .env z trybem 0600, ustawia APP_DEBUG=false, generuje klucz aplikacji i zapisuje prywatną ścieżkę admina. Hasło administratora musi mieć co najmniej 10 znaków, litery i cyfry. Instalator ma limit żądań (rate limit).
Instalacja ze źródeł
Sklonuj repozytorium, następnie uruchom:
composer install --no-dev --optimize-autoloader
npm install
npm run build
cp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan duvento:installSkonfiguruj bazę w .env przed migracją. duvento:install tworzy pierwszego właściciela workspace i administratora systemu oraz zapisuje prywatną ścieżkę admina. Nie uruchamiaj seederów bazy na instancji produkcyjnej.
Opcjonalny Docker
docker-compose.yml jest opcjonalny. Najpierw zbuduj assety Composer/npm na hoście. Plik compose uruchamia PHP 8.3, MariaDB 11, aplikację na porcie 8090 oraz osobny kontener schedulera. To nie jest obraz produkcyjny „jednym poleceniem”.