/upptime

⬆️ Uptime monitor and status page powered by GitHub

MIT LicenseMIT

Upptime

Upptime (https://upptime.js.org) is the open-source uptime monitor and status page, powered entirely by GitHub Actions and Issues.

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 88ms Uptime 100.00%
Wikipedia 🟩 Up wikipedia.yml Response time graph 140ms Uptime 100.00%
Hacker News 🟩 Up hacker-news.yml Response time graph 337ms Uptime 100.00%
Broken Site 🟥 Down broken-site.yml Response time graph 0ms Uptime 0.00%
Secret Site 🟩 Up secret-site.yml Response time graph 50ms Uptime 100.00%

This README is also available in 🇧🇷 Brazilian Portuguese

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 are 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 are 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

Screenshot of status website

💝 Who's using Upptime

upptime/.github gwanryo/upptime kong67/status dlunch/upptime fjoker/upptime jeongsk/upptime doggy0425/monitoring phg98/upptime nhammond101/upptime theleetax/uptime empmdk/upptime amblerkr/upptime godong9/gdgo tadacodes/tada-uptime SOLPLPARTY/upptime bbonkr/uptime jjeaby/mew 9min/upptime Jolg42/upptime fullprofile/status_monitor Melangebox/status ffsh/uptime OswaldLabsOpenSource/status JonathanTreffler/status kyupark/upptime picchiosat/HBLink-Uptime ludicroushq/upptime jeyraof/otzil-upptime cubi-io/upptime brianjhanson/upptime-test hada-io/upptime cocktail-lucas/cocktail-upptime kt-chelsea/status AnandChowdhary/status Cleverclip/status koj-co/status arkk4/services.arkk4.com mapeaks/mapeaks.github.io chowdhary-org/status armand1m-development/status sebastianroming/status.webmonkey.io EnsembleTravelGroup/EnsembleTravelUpptime intakefoods/status.intakefoods.kr jtprog/status.jtprog.ru classtinginc/upptime r2fresh/chelsea coinsambacom/upptime camphor-/status rmateu/statuspage p1ass/status AiLingGo/mew davide93/upme bigwing/upptime Cravemob/mog-status KieranHolroyd/monitoring xhemj/upptime jeremywall/v2-api-status Garagist/upptime jacobdubail/wo-monitor severnbronies/status Shulert/status pavelloz/uptimez MisterSingh/Uptime bagiduid/uptime baealex/upptime M17-Project/upptime butteryoon/liveseeyou stethoscope-js/status belhyun/yonsei-upptime mikesprague/skydark-status snapwiki/SnapWikiUptime eartharoid-bot/status humanscape/service-status mue/status wakatime/statuspage

👩‍💻 Documentation

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

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 →