Documentation
Votepit runs on classic PHP/MySQL shared hosting — no Docker, no extra runtime. Here's how to get it installed and configured.
Requirements
PHP 8.2 or newer with pdo_mysql, mbstring and openssl. A MySQL or MariaDB database. FTPES access (SSH optional). Ideally your web root points at the public/ folder; on hosts where that isn't configurable, the bundled .htaccess keeps everything outside public/ protected, so it works either way.
Install — FTP + web installer
Download the latest release ZIP from GitHub, unzip it and upload everything via FTP. Point your web root at public/ if your host lets you (otherwise the bundled .htaccess protects the rest), then open https://your-domain/install and follow the wizard: it checks your system, asks for your database details, imports the schema and creates the first admin. The installer locks itself afterwards.
Install — Composer (SSH)
If your host offers SSH and Composer, run composer create-project silvio-l/votepit voting-board, point the web root at public/ (or rely on the bundled .htaccess), then open /install to finish setup.
Configuration
Secrets live in config/config.php (database, SMTP for magic-link mail, app_key) and are never committed. The installer writes the file for you; you can edit it by hand later.
Boards & branding
One install serves many boards, addressed by a slug in the path (/{board}/…). Each board has its own name, accent color and intro, managed in the admin area.
Updating
Back up your database and config/config.php, upload the new release over the old files (keep config/), then open /install if a migration is needed.