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.comandlogs.repoless.comremain 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 binarylogwatch) 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.