This guide covers setting up a local Hydrodactyl development environment. For production deployments, see the Installation Guide.
Note
A full walkthrough is also available in the Local Development Guide.
| Tool | Version |
|---|---|
| PHP | ^8.4 |
| Node.js | >= 22.13 |
| pnpm | 11.x (see package.json) |
| Lerd | Latest (used for the dev environment, see .lerd.yaml) |
| Docker | Optional, for containerized development |
Note
Windows is supported for local development only.
pnpm install
pnpm dev:setup
pnpm devpnpm dev:setup runs bin/devSetup.sh, which:
- Boots the development environment with Lerd (see
.lerd.yamlfor the configured services: MariaDB, PostgreSQL, Valkey, Mailpit, and more). - Configures local S3-compatible storage via MinIO.
- Seeds a default administrator account.
- Creates a development node and starts the Elytra daemon.
On first boot, navigate to http://localhost:3000 and complete the setup wizard in the UI to create your admin account.
The following commands are defined in package.json:
| Script | Description |
|---|---|
pnpm dev |
Start the Vite development server with hot reload |
pnpm dev:setup |
Bootstrap the full local development environment |
pnpm build |
Build frontend assets |
pnpm lint |
Run Biome and apply fixes |
pnpm check |
Run Biome checks |
pnpm test |
Run the PHPUnit test suite |
pnpm test:unit |
Run the unit test suite only |
pnpm test:integration |
Run the integration test suite only |
composer install
pnpm testTests are split into Unit and Integration suites and run against MySQL, MariaDB, and PostgreSQL on PHP 8.4 and 8.5 in CI. See .github/workflows/tests.yml for details.
An alternative containerized environment is available via docker-compose.develop.yml, which additionally provisions MinIO (S3 backups) and an Elytra daemon:
docker compose -f docker-compose.develop.yml up -d --buildThe panel is then reachable on http://localhost:3000.
Warning
The docker-compose.develop.yml environment is intended for development only and should never be used in production.
Interested in helping out? Check out CONTRIBUTING.md and SECURITY.md.