Website Monitoring with GitHub: How to Set Up Free Uptime Monitoring with Upptime
There’s hardly anything worse than waking up in the morning and seeing a message that your website is offline – except maybe not knowing it’s offline at all.
Whether it’s a personal homepage, client project, or SaaS application: an uptime monitor is essential. Websites can go down for the strangest reasons – and you don’t want to find out from an angry customer.
Why an Uptime Monitor Is Essential
Uptime monitors notify you as soon as your website becomes unreachable. Most solutions fall into two categories:
- Hosted services like UptimeRobot, Hyperping, or OhDear, which regularly check your website.
- Self-hosted open-source tools like Uptime Kuma or OpenStatus, which you run yourself. wie Uptime Kuma oder OpenStatus, die du selbst betreibst.
However, self-hosted solutions have a major drawback: if your entire server goes down, the monitor does too. This means you would need to host it on a completely separate server or provider – which is complex and error-prone.
The Solution: Upptime
This is where Upptime comes in – a completely free and open-source monitoring solution that you can run directly using your GitHub account. No external servers, no costs. Upptime leverages three core GitHub features:
- GitHub Actions
- GitHub Issues
- GitHub Pages
1. GitHub Actions for Monitoring
GitHub Actions enable automated workflows – e.g., tests, deployments, or regularly checking if your website is reachable. Upptime configures these checks using simple YAML files in the .github/workflows.
Using GitHub's built-in scheduling, you can have checks run automatically every 5 minutes, for example.
2. Notifications via GitHub Issues
If your website goes down, Upptime automatically creates a GitHub-Issue – a kind of incident report. This feature can be extended with notifications via Slack, Telegram, Discord, email, or even SMS.
Once your website is back online, Upptime automatically closes the issue.
3. GitHub Pages as a Status Page
Another strength: Upptime generates a public status page via GitHub Pages.
This displays your website’s availability in real-time, including load times and history charts. Comments on incidents are automatically included – perfect for transparent communication with your users.
Setting Up Upptime
Setup is simple:
- Fork the official Upptime-Repository as a template.
- Create a new public repository based on that template.
- Generate a GitHub access token with the required permissions (Actions, Issues, Contents, Workflows).
- Add this token in the repository settings under Secrets as
GH_PAT. - Configure your
.upptimerc.ymlwith your GitHub username, repo name, and the URLs to monitor. - Commits automatically trigger checks, and status pages are generated.
Conclusion
Upptime is an elegant solution for developers, freelancers, and agencies who want a free, reliable, and transparent monitoring system – without external servers.
With Upptime, you get:
- Regular checks of your website
- Automatic incident reports
- Public status pages with history and load times
All you need is a GitHub account.
Curious how long setup takes?
The video recorded the setup and editing process using the open-source time tracker Solidtime – another interesting GitHub-based tool.
You’ll find links to Upptime, documentation, and other tools in the video description.
And who knows – maybe Upptime is the perfect solution for your next project.