@upptime/upptime

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

Usage no npm install needed!

<script type="module">
  import upptimeUpptime from 'https://cdn.skypack.dev/@upptime/upptime';
</script>

README

Upptime">

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

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 87ms Uptime 99.99%%
Wikipedia 🟩 Up wikipedia.yml Response time graph 127ms Uptime 100.00%%
Hacker News 🟩 Up hacker-news.yml Response time graph 346ms Uptime 99.82%%
Broken Site 🟥 Down broken-site.yml Response time graph 0ms Uptime 0.00%%
Secret Site 🟩 Up secret-site.yml Response time graph 49ms Uptime 99.97%%

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

liamstewart23/uptime avioli/ionata.com.au-uptime BenMagill/upptime KieranHolroyd/monitoring jsjsjsjsjsjsjsjs/uptime gwanryo/upptime bigwing/upptime gikiapp/status adadaptedinc/upptime tavy315/upptime trineedle/upptime-stickybomb level7in/uptime.level7in.com jeongsk/upptime jonasgithub/Upptime shamoon/mswd-upptime dlunch/upptime fjoker/upptime YepDigital/upptime absk1317/uptime Starker3/uptime lightcyde/upptime nhammond101/upptime mozillazg/uptime kong67/status nfuad/uptime-check swuecho/upptime jmutai/uptime whistlerbrad/uptime nutriot/status PH4NTOMiki/uptime-checker k-hal/upptime doggy0425/monitoring codal-ayush/upptime phg98/upptime fmmaia/fmAtAllUptime decuyperjeremie/upptime empmdk/upptime chrimbo/upptime David-A-James/upptime Garagist/upptime HoscoHarding/P-ginasPrueba Crstian19/Upptime theleetax/uptime FastGitORG/uptime BeeCorp/upptime-verifli cheesemarathon/upptime JeffreyBool/githubmemory-upptime tadacodes/tada-uptime daaAd1/upptime-test compusam/upckmonitor SOLPLPARTY/upptime unliar/happy-upptime Mehuge/upptime Linkspring/upptime jgui1129/uptodate-sites amblerkr/upptime godong9/gdgo ryanda/web-upptime mexxanit/Upptime ESSS/upptime jeongbeom324/upptime_test albismart/uptime enieber/status giftcardbd/status bigtablesystems/schoolstart-status bbonkr/uptime jjeaby/mew HigherStack/higherstack-monitor GennadySpb/upptime-yandex-cloud xoff1337/xoff1337 wvdraay/upptime Jolg42/upptime ForBestClients/upptime aureooms/monitor getfetch-io/status.getfetch.io geored/test-git-actions joecof/symmetrical-succotash 9min/upptime richardtape/ubcupptime ChrAlpha/upptimes alexandervantrijffel/upptimemonitoring fullprofile/status_monitor BotSauce/status whereismyjetpack/status ffsh/uptime awesomebible/status jakubvanco/uptime-try RafGamer/rafgamer-status nazgu1/uptime wahyd4/status jeremywall/v2-api-status CardinalDevLab/Morty-Status Melangebox/status JonathanTreffler/status RYNO8/iltg-uptime justforfun-click/status littlekud/sites-status delennerd/uptime 1MaddieX/conan-status OswaldLabsOpenSource/status Fortify-Labs/status rodseb/status Etienne-Schmitt/Uptime lincolnthedev/status Cyclize/Status kyupark/upptime SJang1/ServerStatus picchiosat/HBLink-Uptime victorlmneves/uptime-monitor zhakell/upptime tbobm/etna-uptime jacobdubail/wo-monitor cubi-io/upptime ludicroushq/upptime akrantz01/status-page UnivTerbuka/online springbeats/springbeats-uptime FriendlyUser/uptime-check maximousblk/status bostondigitalio/uptime SergioRugiero/UptimeDropit jeyraof/otzil-upptime brianjhanson/upptime-test cocktail-lucas/cocktail-upptime hada-io/upptime koj-co/status fixator10/status kt-chelsea/status Cleverclip/status jiri-moc/Hexio-Services-Uptime-Monitor sarpaykent/uptime AnandChowdhary/status espressotutorials/et-status chowdhary-org/status sebastianroming/status.webmonkey.io nestdotland/status Kleofass/Uptime RitsuProject/ritsu-status dapodix/status arkk4/services.arkk4.com armand1m-development/status EnsembleTravelGroup/EnsembleTravelUpptime dixneuf19/upptime mapeaks/mapeaks.github.io r2fresh/chelsea intakefoods/status.intakefoods.kr jtprog/status.jtprog.ru classtinginc/upptime coinsambacom/upptime rmateu/statuspage camphor-/status AiLingGo/mew xosan4ever/upptime severnbronies/status pavelloz/instances-uptime dominion-it/uptime logotip4ik/up-time hatamiarash7/MyWebSite_Status Cravemob/mog-status pulibrary/uptime ChuckMac/chuckmacdev-uptime Dodger77/upptime ejiek/status davide93/upme Stompie/upptime filii-lamberti/uptime silhouette88/upptime practiceehr/practiceehr.github.io ThomasIAm/upptime formspark/status edbighead/upptime Shulert/status stijnbrysbaert/upptime p1ass/status thewilloftheshadow/utopium-status wtfpeter/stats clmanu75/upptime sherwin7/uptime_test ton-actions/freeton-status tonybastienricher/upptime aweiand/status-ifrs-osorio oaojmiguel/ifsc-cacador-status mantagen/upptime bagiduid/uptime extratone/up UAL-ODIS/uptime rdp-studio/upptime Taku-Yamashita/upptime dhduc/uptime sayantan300/status ball-hayden/playerdata-status frost-linux/uptime upptime/.github c0ball/Uptime huskar-org/uptime ImMaax/uptime brandonstephens/status Okkido/status vigneshksaithal/vipatra-status katharostech/uptime-monitor duplaja/website-status baealex/upptime M17-Project/upptime butteryoon/liveseeyou stethoscope-js/status belhyun/yonsei-upptime mikesprague/skydark-status snapwiki/SnapWikiUptime jgamblin/upptime eartharoid-bot/status mue/status humanscape/service-status wakatime/statuspage

👩‍💻 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 →