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.

Source on GitHub