Skip to content

Read it, run it, fork it.

The repository is the product. Self-hosting is not a stripped-down edition of it, and there is nothing you have to pay to switch on.

The repository

Everything on this site is in there.

Web analytics, downloads, product analytics, errors, logs, feedback and releases: one service, one database, one licence.

Stars
1
Forks
0
Open issues
0
Last commit
today

Run it yourself

~2 min
git clone https://github.com/nwalser/firstrun
cd firstrun
docker compose up -d
# http://localhost:3000
  • The whole product, under AGPL-3.0

    Not a demo core with the useful half held back. The cloud runs this repository, and every surface on this site is in it.

  • Your database, your salt

    Self-hosted, everything is written to a Postgres you control and the IP hash salt never leaves it. Nothing phones home, because there is no telemetry in the build.

  • One service, one Dockerfile

    No queue, no warehouse, no sidecar, no object store. Migrations apply themselves on boot, so a clean clone needs nothing but a database URL.

  • No caps on the free path

    Self-hosting has no event limit, no project limit and no seat count. The paid tier sells operations, not permission.


The stack

Boring on purpose.

Self-hosting fails when it needs six moving parts to stay up. This one is a service and a Postgres, and that is the entire operational surface.

Runtime

One Node service

Store

Postgres, and nothing else

Queue

None

Warehouse

None

Migrations

Applied on boot

Telemetry

Not in the build