-
Notifications
You must be signed in to change notification settings - Fork 0
Development Setup
Arael Espinosa edited this page Jun 16, 2026
·
2 revisions
How to run Piro locally for development.
- .NET 9 SDK
- Node.js 20+ and npm
- (Optional) Docker & Docker Compose — for the database or full-stack mode
This is the fastest way to get a hot-reloading dev environment.
cd src/Piro.Api
dotnet run
# Listening on http://localhost:5117SQLite is used by default — the database file piro.db is created automatically on first run. No database setup required.
cd frontend
cp .env.example .env # PIRO_API_URL defaults to http://localhost:5117
npm install
npm run dev
# http://localhost:5173Open http://localhost:5173 — you'll be redirected to /setup to create the owner account and configure the instance.
Runs the full stack (API + frontend + PostgreSQL) with pre-built images.
docker compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| API | http://localhost:8080 |
| Postgres | localhost:5432 |
Navigate to http://localhost:3000/setup on first startup.
-
/setup— set instance name, create the owner account -
/auth/sign-in— sign in -
/admin/services→ + Add service - Click the service → + Add check (HTTP type, point at a real URL)
- Click Run now on the check row to trigger it immediately
-
/— public status page shows service health -
/admin/incidents→ + New incident -
/admin/maintenances→ + Schedule maintenance
cd tests/Piro.UnitTests
dotnet testUnit tests cover status propagation, cycle detection, and DAG cascade logic.
| Variable | Default | Description |
|---|---|---|
Database__ConnectionString |
Data Source=piro.db |
SQLite (dev) or Postgres (prod) connection string |
Auth__JwtSecret |
(auto-generated) | JWT signing secret — set explicitly in production |
PIRO_API_URL |
http://localhost:5117 |
Frontend → API base URL |
ASPNETCORE_ENVIRONMENT |
Development |
Set to Production for prod builds |