Upptime
GitHub-powered open-source uptime monitor and public status page.
Why consider Upptime?
Upptime is an open-source uptime monitor and status page powered entirely by GitHub Actions and GitHub Pages. It requires zero server infrastructure.
Learn Upptime by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Upptime?
Upptime is an open-source uptime monitor and public status page powered completely by GitHub Actions, GitHub Issues, and GitHub Pages. It operates as an innovative, completely free alternative to commercial uptime monitors and status page services like Statuspage (Atlassian), Pingdom, and UptimeRobot.
Because Upptime is serverless, you do not need to host or maintain any server infrastructure. A scheduled GitHub Actions workflow checks website endpoints every 5 minutes from multiple worldwide GitHub runners, automatically opens GitHub Issues when endpoints go down, and publishes a static status page with response time graphs to GitHub Pages.
Who Is It For?
- Open-Source Maintainers & Startups: Publishing a professional, publicly accessible status page for users without paying monthly SaaS subscriptions.
- Web Developers: Monitoring website uptime, SSL certificate expirations, and API response latencies with zero maintenance.
- DevOps Teams: Distributing public outage notifications independently of internal infrastructure.
Key Features
- 100% serverless: Runs entirely on free GitHub Actions workflows and GitHub Pages hosting.
- Automated incident management: Creates, updates, and closes GitHub Issues automatically during outages.
- Response time analytics: Generates historical response time graphs and monthly uptime percentage badges.
- SSL certificate monitoring: Checks TLS certificate validity and notifies you prior to certificate expiration.
- Multi-channel notification delivery: Dispatches alerts via Telegram, Slack, Discord, Twitter/X, SMS, and email.
Setting Up Upptime in 3 Minutes
- Visit the Upptime template repository at
https://github.com/upptime/upptimeand click Use this template -> Create a new repository. - Name your repository (e.g.
my-status-page) and make it Public. - In your repository settings, go to Pages and set Source to Deploy from a branch (
gh-pages). - Edit the
.upptimerc.ymlconfiguration file in your repository:
# .upptimerc.ymlowner: my-orgrepo: my-status-pagesites: - name: Marketing Website url: https://example.com - name: Production API url: https://api.example.com/healthCommit your changes; GitHub Actions will automatically run the initial health checks and deploy your status page.
Practical Use Cases
1. Zero-Cost Public Status Page
A SaaS company hosts status.company.com on GitHub Pages; when their primary AWS region goes down, the status page remains fully operational and updates customers automatically.
2. Microservice Health Check Endpoint Monitor
A development team monitors 15 internal and external API health endpoints, tracking daily response time variations and p99 latency graphs.
3. Automated Slack and Discord Outage Alerts
An engineering team connects a Discord webhook; when an API returns 502 Bad Gateway, Upptime posts an alert with incident details in the engineering chat.
Troubleshooting and Limitations
- 5-Minute Polling Resolution: Free GitHub Actions schedules run approximately every 5 minutes; for sub-minute polling requirements, consider dedicated agents.
- GitHub Personal Access Token Permissions: Ensure the
GH_PATsecret hasrepoandworkflowpermissions so GitHub Actions can push commits togh-pages.
Official Resources
- Official Website: https://upptime.js.org
- GitHub Repository: https://github.com/upptime/upptime
- Documentation: https://upptime.js.org/docs/
Related tools
More options with a similar category or technology profile.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
bpytop
Python port of bashtop with game-like UI, responsive mouse support, and hardware sensors.
bashtop
Linux resource monitor showing usage and stats for processor, memory, disks, network, and processes.
SchemaHero
Kubernetes-native declarative database schema management and table migration operator.