Skip to main content
This guide is for contributors who want to run Zepeed from source on their own machine. If you just want to deploy Zepeed, use Using Docker Compose instead.

Requirements

  • PHP 8.4+
  • Composer
  • Bun (for the Vue/Vite frontend)
  • Docker Desktop or OrbStack (for the database and supporting services)
  • Git

Clone and install

1

Clone the repository

2

Install PHP dependencies

3

Install frontend dependencies

4

Configure environment

Adjust database, mail, and provider settings in .env. See Environment Variables for the full reference.
5

Run database migrations

6

Start dev servers

Run the Laravel app and Vite dev server in parallel:
Then open http://localhost:8000.

Useful Composer scripts

Zepeed ships with helper scripts that combine formatters, linters, and tests. Run all four before opening a pull request.

Tech stack

  • Backend — Laravel 13, Fortify, Inertia.js (Laravel adapter)
  • Frontend — Vue 3, shadcn/vue (reka-ui), Tailwind CSS v4
  • Tooling — Vite, TypeScript, ESLint, Prettier, Pint, PHPStan, Rector
  • Extras — Mailpit, Soketi/Reverb-ready scripts

Speedtest provider CLIs

Zepeed shells out to the official provider CLIs. When running locally outside Docker you may need to install them yourself: The Docker image bundles all four — prefer Docker if you do not want to manage these manually.

Tests and CI

The repository runs three GitHub Actions workflows on every push:
  • API tests — PHPUnit suite against the HTTP API.
  • PHPStan — Static analysis.
  • Code style — Pint, Prettier, ESLint.
All three must pass before a PR can be merged. Run composer run format, composer run analyse, and composer run test locally to catch issues early.