Installation

Self-host requirements, the web installer, CLI install, and optional Docker.

Requirements

PHP 8.3+ with pdo_mysql or pdo_sqlite, mbstring, openssl, tokenizer, xml, ctype, json, and intl.

MySQL or MariaDB for production. SQLite is fine for evaluation. Point the web server document root at public/. Add one cron entry for SSL checks, reminders, and queued mail.

Composer 2 and Node.js 20+ are only needed when installing from source. The release archive already includes PHP dependencies and compiled frontend assets.

Release archive and web installer

Download the latest duvento.zip, extract it, point nginx or Apache at public/, and give the PHP user write access to the project root (for .env), storage/, and bootstrap/cache/.

Open the site. Duvento redirects to /install. The wizard is: language → server check → database → migrations → administrator. Save the generated admin URL and add the cron line shown at the end.

After a successful install, /install returns 404 (lock file, or an existing user/admin) and cannot reset the instance. The wizard writes .env with mode 0600, sets APP_DEBUG=false, generates an app key, and stores a private admin path. The administrator password must be at least 10 characters with letters and digits. The installer is rate-limited.

Install from source

Clone the repository, then run:

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

Configure the database in .env before migrating. duvento:install creates the first workspace owner and a system administrator, and writes a private admin path. Do not run database seeders on a production instance.

Optional Docker

docker-compose.yml is optional. Build Composer/npm assets on the host first. The compose file runs PHP 8.3, MariaDB 11, the app on port 8090, and a separate scheduler container. It is not a one-command production image.

Still need help?

Write to the team and we'll get back within one business day.

Contact support