Skip to content
repoless

Documentation

Build, deploy, watch.

Repoless is a self-hosted PaaS (Pier) and observability layer (Beacon) — built together so deploys and logs share auth, RBAC, and the revision that produced every event.

How it fits together

Pier and Beacon are deployed independently but share a single identity layer, RBAC model, and notification routing. You sign in once with email OTP (plus optional TOTP) and that session works across both products. Project access is scoped through one cross-product table so a user invited to acme-api sees both its deploys and its logs.

Getting around

  • Pier lives at pier.repoless.com. Provision hosts, define projects and apps, configure deploys.
  • Beacon lives at beacon.repoless.com. Search logs, manage saved queries + collections, configure alerts.
  • Older domains deploy.repoless.com and logs.repoless.com remain attached as aliases — agent tokens, ingest tokens, and bookmarks continue to work.

Conventions in these docs

  • Commands shown with a $ prefix run on your laptop. Commands shown without one run on a host.
  • dwa_* tokens are Pier API tokens. dwh_* tokens are host agent tokens. lwh_* tokens are Beacon ingest tokens.
  • Internal identifiers in your filesystem (the agent binary deploywatch-agent, the CLI binary logwatch) keep their original names so existing installs and shell aliases keep working.

Two halves, one platform

Every log line ingested by Beacon carries the deploy revision that produced it. That coupling is the reason Pier and Beacon ship together — error-rate deltas between revisions become a first-class signal, not something you stitch with regex.