Instalacja

Wymagania self-host, instalator WWW, instalacja CLI i opcjonalny Docker.

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:

bash
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:install

Skonfiguruj 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”.

Nadal potrzebujesz pomocy?

Napisz do zespołu — odpowiemy w ciągu jednego dnia roboczego.

Skontaktuj się ze wsparciem