Local Development

Want to contribute to Straden or run it from source? This page covers the development setup.


Stack

LayerTechnology
BackendPHP 8.4, Laravel 13
UILivewire 4, Tailwind CSS, Monaco editor
AILaravel AI SDK, Laravel MCP
QueuesLaravel Horizon on Redis
RealtimeLaravel Reverb
AuthLaravel Fortify (2FA, passkeys), Sanctum (API tokens)
Load enginek6 v2
TestsPest 4, PHPStan (Larastan), Pint

Prerequisites

  • PHP 8.4 with pdo_pgsql or pdo_sqlite, redis, pcntl, intl, zip and bcmath
  • Composer and Node.js 24
  • Redis
  • InfluxDB 1.8 on port 8086 with a k6 database
  • The k6 binary on your PATH

The quickest way to get the services is Docker:

BASH
docker run -d --name redis -p 6379:6379 redis:7-alpine
docker run -d --name influxdb -p 8086:8086 -e INFLUXDB_DB=k6 influxdb:1.8

Setup

BASH
git clone https://github.com/kwasii1/straden && cd straden
composer run setup

composer run setup installs dependencies, copies .env.example, generates APP_KEY, runs migrations and builds the frontend. The example environment uses SQLite.

Running

BASH
composer run dev

This starts, in parallel:

  • the web server on http://localhost:8001
  • the scheduler (schedule:work)
  • Horizon (horizon:listen)
  • Vite with hot reload
  • log tailing (Pail)
  • the MCP inspector

Reverb isn't included, so run it in another terminal for live updates:

BASH
php artisan reverb:start

Run php artisan straden:bootstrap once to register the built-in InfluxDB connector, then open the app and complete the setup wizard.

Tests and code style

BASH
composer test

This runs the Pint style check, PHPStan and the Pest test suite. To fix style issues automatically:

BASH
composer lint

Building the Docker image

BASH
cd deploy
docker compose -f compose.yaml -f compose.build.yaml up -d --build

The multi-stage Dockerfile installs Composer dependencies, builds assets with Node, copies the pinned k6 binary from grafana/k6 and produces a FrankenPHP runtime image.