<p align="center">
  <img width="300" alt="oneuptimelogo" src="https://raw.githubusercontent.com/OneUptime/oneuptime/master/Home/public/img/OneUptimePNG/7.png">
</p>
<p align="center">
  <a href='http://makeapullrequest.com'><img alt='PRs Welcome' src='https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=shields'/></a>
  <a href='https://join.slack.com/t/oneuptimedev/shared_invite/zt-17r8o7gkz-nITGan_PS9JYJV6WMm_TsQ'><img alt="Join Slack Community" src="https://img.shields.io/badge/slack%20community-join-blue"/></a>
  <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/oneuptime/backend"/>
  <img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/oneuptime/app"/>
</p>

**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](https://oneuptime.com). 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). We run the smallest instance on 16 GB / 8 Core Ubuntu Server and we recommend these requirements for running your hobby server. 

 ```bash 
  git clone https://github.com/OneUptime/oneuptime
  cd oneuptime
  git checkout release
  bash configure.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 update.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](https://oneuptimesupport.slack.com/join/shared_invite/zt-1kavkds2f-gegm_wePorvwvM3M_SaoCQ#/shared-invite/email)
- Talk to developers in our [Developer Slack community](https://join.slack.com/t/oneuptimedev/shared_invite/zt-17r8o7gkz-nITGan_PS9JYJV6WMm_TsQ)
- Write tests for some of our codebase. [See issues here](https://github.com/OneUptime/oneuptime/issues?q=is%3Aopen+is%3Aissue+label%3A%22write+tests%22)
- Work on any issue you like. [See issues here](https://github.com/OneUptime/oneuptime/issues)
- Open new issues and create new feature requests that you would like to see. [Open issues here](https://github.com/OneUptime/oneuptime/issues)
