⬆️ Uptime monitor and status page powered by GitHub Actions, Issues, and Pages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Upptime Bot 8dd1dce67c 🍱 Update graphs [skip ci] 21 hours ago
.github ⬆️ Update @upptime to v1.27.0 1 week ago
api 🍱 Update graphs [skip ci] 21 hours ago
assets 🚚 Rename static to assets 1 year ago
graphs 🍱 Update graphs [skip ci] 21 hours ago
history 🗃️ Update status summary [skip ci] [upptime] 22 hours ago
.templaterc.json 🔧 Add .templaterc.json config file 2 years ago
.upptimerc.yml 🔧 Update test site URLs 1 year ago
LICENSE 📄 Add MIT license 2 years ago
README.md 📝 Update summary in README [skip ci] [upptime] 22 hours ago

README.md

Upptime

Upptime (https://upptime.js.org) is the open-source uptime monitor and status page, powered entirely by GitHub Actions, Issues, and Pages. It's made with 💚 by your friends at Koj.

I find Upptime an incredible clever usage of [GitHub Actions]. You essentially get a free configurable uptime monitor for whatever you want. – CSS Tricks

Upptime is used by 1,000+ people and teams to ensure they know when their endpoints go down.

Uptime CI Response Time CI Graphs CI Static Site CI Summary CI

📈 Live Status: 🟧 Partial outage

URL Status History Response Time Uptime
Google 🟩 Up google.yml
Response time graph 72ms
Response time 99
24-hour response time 62
7-day response time 72
30-day response time 72
1-year response time 103
100.00%All-time uptime 100.00%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 100.00%
Wikipedia 🟩 Up wikipedia.yml
Response time graph 203ms
Response time 220
24-hour response time 260
7-day response time 203
30-day response time 216
1-year response time 243
100.00%All-time uptime 99.99%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 99.99%
Hacker News 🟩 Up hacker-news.yml
Response time graph 304ms
Response time 399
24-hour response time 377
7-day response time 304
30-day response time 321
1-year response time 400
100.00%All-time uptime 99.97%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 100.00%
Test Broken Site 🟥 Down test-broken-site.yml
Response time graph 0ms
Response time 543
24-hour response time 0
7-day response time 0
30-day response time 0
1-year response time 0
0.00%All-time uptime 0.00%
24-hour uptime 0.00%
7-day uptime 0.00%
30-day uptime 1.38%
1-year uptime 0.00%

How it works

  • GitHub Actions is used as an uptime monitor
    • Every 5 minutes, a workflow visits your website to make sure it's up
    • Response time is recorded every 6 hours and committed to git
    • Graphs of response time are generated every day
  • GitHub Issues is used for incident reports
    • An issue is opened if an endpoint is down
    • People from your team are assigned to the issue
    • Incidents reports are posted as issue comments
    • Issues are locked so non-members cannot comment on them
    • Issues are closed automatically when your site comes back up
    • Slack notifications are sent on updates
  • GitHub Pages is used for the status website
    • A simple, beautiful, and accessible PWA is generated
    • Built with Svelte and Sapper
    • Fetches data from this repository using the GitHub API

Upptime is not affiliated to or endorsed by GitHub.

Screenshot of status website

👩💻 Documentation

  1. How it works
  2. Getting started
  3. Configuration
  4. Triggers
  5. Notifications
  6. Badges
  7. Packages
  8. Contributing
  9. Frequently Asked Questions

Concepts

Issues as incidents

When the GitHub Actions workflow detects that one of your URLs is down, it automatically opens a GitHub issue (example issue #15). You can add incident reports to this issue by adding comments. When your site comes back up, the issue will be closed automatically as well.

Screenshot of GitHub issue Screenshot of incident page

Commits for response time

Four times per day, another workflow runs and records the response time of your websites. This data is commited to GitHub, so it's available in the commit history of each file (example commit history). Then, the GitHub API is used to graph the response time history of each endpoint and to track when a site went down.

Screenshot of GitHub commits Screenshot of live status

📄 License

Koj

An open source project by Koj.
Furnish your home in style, for as low as CHF175/month →