What running Key Lair actually takes, before you download it. Two ways to get it running: a container (fastest) or a plain PHP/MySQL/Apache server (full control). Both end up at the same setup wizard.
Whichever path you pick -- the Docker image already bundles these, a manual install needs them installed yourself.
| Requirement | Notes |
|---|---|
| PHP | 8.1 or newer |
| MySQL / MariaDB | Any reasonably recent version |
| Apache | with mod_rewrite enabled and AllowOverride All (pretty URLs like /claim/... depend on it) |
| PHP extensions | pdo_mysql, mbstring, gd, zip |
| Outgoing mail | Optional -- only needed for password-reset emails; can be turned off in Settings instead |
A container image is built from the same Dockerfile shipped in the source -- docker compose up gets you the app and a MySQL database in one go.
git clone <this repo>
cd key-lair
docker compose up -d
Then open http://localhost:8080/setup.php and follow the wizard -- database host is db, everything else matches a manual install. config/ and public/uploads/ are mounted as volumes so they survive a rebuild.
Full control over the server, no Docker involved -- a typical Ubuntu + Apache setup takes about 15-45 minutes end to end.
Install the packages, point a vhost at public/, run the setup wizard, create your master admin account. The full step-by-step guide -- exact commands, MySQL user setup, HTTPS via Certbot, troubleshooting -- is bundled with the download as install/INSTALL.md.