OneUptime is an open-source complete observability 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 (we only support Debian / Ubuntu as of today).
git clone https://github.com/OneUptime/oneuptime
cd oneuptime
git checkout release
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
OneUptime should run at: https://localhost. You need to register a new account for your instance to start using it.
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:
- Give us feedback in our Customer Slack community
- Talk to developers in our Developer Slack community
- Write tests for some of our codebase. See issues here
- Work on any issue you like. See issues here
- Open new issues and create new feature requests that you would like to see. Open issues here