upright
Upright is a self-hosted synthetic monitoring engine built on Ruby and Rails that runs browser and network health checks from multiple geographic locations, reporting results to Prometheus for alerting. It includes Playwright-based user flow testing, HTTP/SMTP/traceroute probes, and integrates with AlertManager and OpenTelemetry.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | basecamp/upright |
| Owner | basecamp |
| Primary language | Ruby |
| License | MIT — OSI-approved |
| Stars | 811 |
| Forks | 34 |
| Open issues | 13 |
| Latest release | v0.3.0 (2026-04-09) |
| Last updated | 2026-07-08 |
| Source | https://github.com/basecamp/upright |
What upright is
A Rails engine deployed via Kamal that executes scheduled probe checks across distributed sites, persists results to SQLite, queues jobs via Solid Queue, and exports Prometheus metrics and OTLP traces. Supports custom probe types via a plugin architecture and subdomain-based multi-tenant routing.
Get the upright source
Clone the repository and explore it locally.
git clone https://github.com/basecamp/upright.gitcd upright# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires provisioning multiple VPS instances across geographic regions and configuring each with the `SITE_SUBDOMAIN` environment variable for identity.
- SQLite database suitable for moderate workloads; large-scale retained probe results (20,000 failed records by default) may require schema optimization or migration to PostgreSQL.
- Playwright probes need browser runtime (Chromium) installed on each site node; video recording increases storage and I/O demands.
- OIDC authentication integration (Logto, Keycloak, Okta) required for production; default credentials must be overridden before deploying.
- Job scheduling and recurring probe execution depend on Solid Queue health; Mission Control dashboard for manual enqueue and job monitoring is essential.
When to avoid it — and what to weigh
- Rapid SaaS deployment needed — Upright requires self-hosting, Kamal deployment orchestration, and infrastructure setup (VPS provisioning across multiple regions). Not suitable for teams seeking instant cloud-based monitoring.
- Limited DevOps/infrastructure resources — Requires operational knowledge of Rails deployment, Solid Queue job management, Prometheus configuration, AlertManager setup, and multi-site orchestration. Not a turn-key solution.
- Need for enterprise SaaS features — Lacks built-in mobile app notifications, managed hosting, dedicated support, or pre-built enterprise alerting channels. AlertManager integration is required for all notifications.
- High-frequency sub-second probe intervals — Built on Rails/Ruby with job queuing overhead. Not optimized for millisecond-level probe scheduling or extreme-scale distributed probe networks.
License & commercial use
MIT License—permissive open-source license allowing commercial use, modification, and redistribution with attribution.
MIT License is a permissive OSI license. Commercial use, including building proprietary monitoring services around Upright, is permitted. No license restrictions on commercial deployment or resale of derivative works.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | High |
| DEV.co fit | Good |
| Assessment confidence | High |
Default credentials (admin/upright) must be changed before production. OIDC integration available for identity management. No disclosed security audit or vulnerability history in public data. Browser-based probes execute Playwright code on each site node—sandbox isolation between probes and OS-level access must be evaluated. OTLP endpoint for trace/metric export requires network security review.
Alternatives to consider
Grafana Synthetic Monitoring (Cloud)
Managed SaaS alternative with global probe network, no infrastructure overhead, integrated Grafana dashboards. Trade-off: higher cost, vendor lock-in, limited customization of probe logic.
Checkly
SaaS-native synthetic monitoring with Playwright support, multi-location probes, and alerting. Trade-off: subscription pricing, less control over data residency, less extensible.
Datadog Synthetic Monitoring
Enterprise-grade synthetic and real-user monitoring, global infrastructure, advanced analytics. Trade-off: high cost, steep learning curve, overkill for small-to-mid teams.
Build on upright with DEV.co software developers
Start with a new Rails app and Upright's quick-install generator. Provision VPS nodes, configure sites, and begin monitoring user flows and APIs across geographic regions.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
upright FAQ
Can I run Upright on a single server or do I need multiple sites?
Does Upright store probe video recordings indefinitely?
What databases does Upright support?
Can I extend Upright with custom probe types?
Software developers & web developers for hire
DEV.co helps companies turn open-source tools like upright into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source observability stack.
Deploy Distributed Monitoring Today
Start with a new Rails app and Upright's quick-install generator. Provision VPS nodes, configure sites, and begin monitoring user flows and APIs across geographic regions.