/oneuptime

OneUptime is an open-source complete SRE and DevOps platform.

Primary LanguageTypeScriptMIT LicenseMIT

oneuptimelogo

PRs Welcome Join Slack Community Docker Pulls GitHub commit activity

OneUptime is an open-source complete SRE and DevOps platform.

OneUptime monitors your website, dashboards, API's, and more and alerts your team when downtime happens. We also give you a Status Page which keeps your customers looped in and improves transparency.

OneUptime does:

  • Uptime Monitoring, replaces tools like Pingdom
  • Status Page, replaces tools like StatusPage.io
  • Incident Management, replaces tools like Incident.io
  • On-call rotation and alerts, replaces tools like PagerDuty (Coming soon)
  • Tests, replaces tools like Postman (Coming soon)
  • Security, replaces tools like Snyk (Coming soon)
  • Logs Management, replaces tools like Loggly (Coming soon)
  • Performance Monitoring, replaces tools like NewRelic (Coming soon)
  • Error Tracking, replaces tools like Sentry (Coming soon)

All under one platform.

Get started for free

OneUptime Cloud

The fastest and most reliable way to get started with OneUptime is signing up for free to OneUptime Cloud. By using the hosted cloud service, you also support by funding OneUptime open source development.

Open-source hobby single-server deploy with Docker Compose.

Deploy a single-server instance in one line on Debian / Ubuntu with Docker (recommended 8GB memory, we only support Debian / Ubuntu as of today).

 git clone https://github.com/OneUptime/oneuptime
 bash preinstall.sh

Please look at config.env and change these values,

DOMAIN=oneuptime.yourcompany.com # REQUIRED. This is used for SSL certs with letsencrypt. SSL cert will be auto-provisioned. 

# SMTP SETTINGS for sending email from OneUptime (optional). 
SMTP_USERNAME=username
SMTP_PASSWORD=password
SMTP_PORT=465
SMTP_EMAIL=alerts@yourcompany.com
SMTP_FROM_NAME=OneUptime
SMTP_IS_SECURE=true
SMTP_HOST=smtp.yourcompany.com

Then, run install:

bash install.sh

To update:

bash install.sh

Provisioning your SSL Certificate from LetsEncrypt:

A self-signed certificate is generated by default. If you need a LetsEncrypt SSL certs then run:

bash certs-issue.sh

Please make sure you have an A record set up to this server. These certs expires every 45 days, you need to renew them at regular interval.

To renew certificate:

bash certs-renew.sh

Please make sure you add the above bash command into a crontab that runs every 15 days.

Philosophy

Our mission is to reduce downtime and increase the number of successful products in the world. To do that, we build a platform that help you understand causes of the downtime, incidents and help reduce toil. Our product is open-source, free and available for everyone to use.

Contributing

We <3 contributions big and small. In priority order (although everything is appreciated) with the most helpful first: