Go to file
Simon Larsen dfa85982c2
fix fmt
2023-09-22 09:41:24 +01:00
.github add compile and build jobs 2023-08-25 15:59:46 +01:00
.husky fix lint. 2022-08-14 10:12:58 +01:00
.vscode shortner > shortener 2023-07-29 16:03:00 -07:00
Accounts increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
AdminDashboard increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
ApiReference increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Backups fix backups and restore. 2022-12-12 15:25:30 +05:30
Certs add domain. 2023-03-02 15:46:28 +00:00
Ci script 2023-07-30 13:44:33 -07:00
Clickhouse Clickhouse 2023-07-30 13:45:44 -07:00
Common fix api docs url 2023-09-22 09:19:39 +01:00
CommonServer fix fmt 2023-09-22 09:41:24 +01:00
CommonUI fix fmt 2023-09-20 18:51:19 +01:00
Dashboard increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
DashboardAPI increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Data add data folder 2023-07-11 20:22:17 +01:00
DatabaseMigrations fix filter criteria 2022-04-30 11:39:37 +01:00
Devops don't 2023-07-30 08:08:53 -07:00
Docs consistency 2023-07-30 10:18:38 -07:00
Environment add env folder 2023-07-11 20:26:35 +01:00
File increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Haraka increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
HelmChart increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Home increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Identity increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Integration increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Licensing increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
LinkShortener increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Model fix fmt 2023-09-20 18:37:43 +01:00
Nginx remove host settings from admin dash 2023-09-20 09:51:32 +01:00
Notification increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Playwright Bump semver from 6.3.0 to 6.3.1 in /Playwright 2023-07-11 21:16:58 +00:00
Postgres remove env tpl 2023-07-17 20:06:01 +01:00
Probe add 1 second between retries 2023-09-22 08:15:45 +01:00
ProbeAPI increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Realtime increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Redis remove env tpl 2023-07-17 20:06:01 +01:00
Scripts fix init 2023-08-10 21:40:09 +01:00
StatusPage increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
TestServer increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Workers increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
Workflow increase npm timeout in docker files 2023-09-21 17:09:09 +01:00
.dockerignore fix docker file 2022-12-16 13:35:59 +05:30
.eslintignore fix folder name 2023-04-05 11:17:41 +01:00
.eslintrc.json fix types 2023-08-09 18:09:52 +01:00
.gitignore add haraka files 2023-08-15 14:39:57 +01:00
.prettierignore fix folder name 2023-04-05 11:17:41 +01:00
.prettierrc.json Setup prettier 2020-02-18 00:13:47 +03:00
babel.config.ts rename 2022-03-22 14:33:51 +00:00
backup.sh atleast 2023-07-30 17:48:48 -07:00
CHANGELOG Add CHANGELOG 2020-01-13 20:59:16 +00:00
clean-npm-install.sh fix lock files 2022-12-16 14:22:23 +05:30
config.example.env add config.example 2023-09-20 09:57:13 +01:00
configure.sh fix DISTRIB 2023-08-07 21:00:25 +02:00
CONTRIBUTING.md Add CONTRIBUTING.md template 2022-04-25 12:28:31 +02:00
docker-compose.base.yml remove host settings from admin dash 2023-09-20 09:51:32 +01:00
docker-compose.dev.yml remove update 2023-09-13 12:30:24 +05:30
docker-compose.yml remove update 2023-09-13 12:30:24 +05:30
install-node-modules.sh npm i 2023-02-08 20:40:06 +00:00
install.sh refactor status check script 2023-07-19 14:21:39 +01:00
LICENSE chore: update license 2022-04-25 23:46:35 +02:00
migration-create.sh add migrations 2022-12-15 12:36:31 +05:30
migration-run.sh add migrations 2022-12-15 12:36:31 +05:30
package-lock.json Update dependency nodemon to v2.0.22 2023-08-04 19:51:34 +00:00
package.json update package config 2023-09-13 12:26:20 +05:30
README.md Update README.md 2023-08-08 17:23:29 +01:00
remove-node-modules.sh add script to remove node_modules 2023-02-09 11:55:58 +00:00
restore.sh atleast 2023-07-30 17:48:48 -07:00
SECURITY.md Create SECURITY.md 2022-01-23 12:04:32 +00:00
sonar-project.properties add sonarcode 2023-08-04 20:47:18 +01:00
status-check.sh add admin dash status check 2023-09-14 10:11:37 +05:30
tsconfig.json fix docker files 2022-12-16 18:02:39 +05:30
uninstall.sh fix docker-compose 2022-12-07 07:49:18 +00:00
update-node-modules.sh update package.jsn and lock files 2022-03-22 14:34:04 +00:00
update.sh add update script 2023-06-11 15:26:52 +01:00

oneuptimelogo

PRs Welcome Join Slack Community Docker Pulls GitHub commit activity

OneUptime: The Complete Open-Source Observability Platform

OneUptime is a comprehensive solution for monitoring and managing your online services. Whether you need to check the availability of your website, dashboard, API, or any other online resource, OneUptime can alert your team when downtime happens and keep your customers informed with a status page. OneUptime also helps you handle incidents, set up on-call rotations, run tests, secure your services, analyze logs, track performance, and debug errors.

OneUptime replaces multiple tools with one integrated platform:

  • Uptime Monitoring: Monitor the availability and response time of your online services from multiple locations around the world. Get notified via email, SMS, Slack, or other channels when something goes wrong. Replace tools like Pingdom.
  • Status Page: Communicate with your customers and stakeholders during downtime or maintenance. Create a custom-branded status page that shows the current status and history of your services. Replace tools like StatusPage.io.
  • Incident Management: Manage incidents from start to finish with a collaborative workflow. Create incident reports, assign tasks, update stakeholders, and document resolutions. Replace tools like Incident.io.
  • On-call Rotation and Alerts: Schedule on-call shifts for your team and define escalation policies. Ensure that the right person is notified at the right time when an incident occurs. Replace tools like PagerDuty.
  • Tests (Coming soon): Automate testing of your online services with scripts or scenarios. Verify the functionality and performance of your APIs, web pages, or workflows. Replace tools like Postman.
  • Security (Coming soon): Protect your online services from cyberattacks and vulnerabilities. Scan your code and dependencies for security issues and get recommendations for fixing them. Replace tools like Snyk.
  • Logs Management (Coming soon): Collect, store, and analyze logs from your online services. Search, filter, and visualize log data to gain insights and troubleshoot issues. Replace tools like Loggly.
  • Performance Monitoring (Coming soon): Measure and optimize the performance of your online services. Track key metrics such as response time, throughput, error rate, and user satisfaction. Replace tools like NewRelic.
  • Error Tracking (Coming soon): Detect and diagnose errors in your online services. Get detailed error reports with stack traces, context, and user feedback. Replace tools like Sentry.

All under one platform.

Get Started for Free with OneUptime Cloud

OneUptime Cloud is the easiest and fastest way to monitor your website uptime and performance. You can sign up for free to OneUptime Cloud and enjoy the full benefits of OneUptime without any installation or maintenance hassle.

By using OneUptime Cloud, you also support the development of OneUptime open source project, which is a powerful and flexible tool for website monitoring. You can find more information about OneUptime open source project on GitHub. The code of OneUptime is completely open source, which means you can access, modify, and distribute it freely. You can also contribute to the project by reporting issues, suggesting features, or submitting pull requests.

If you need advanced features, such as API Access, Advances Workflows, or Advanced Access Control, you can upgrade to a paid plan anytime. You can compare the different plans and pricing on OneUptime Pricing page.

Deploy OneUptime completely free with Docker Compose

If you prefer to host OneUptime on your own server, you can use Docker Compose to deploy a single-server instance of OneUptime on Debian, Ubuntu, or RHEL. This option gives you more control and customization over your instance, but it also requires more technical skills and resources to deploy and maintain it.

Choose Your System Requirements

Depending on your usage and budget, you can choose from different system requirements for your server. For optimal performance, we suggest using OneUptime with:

  • Recommended System Requirements
    • 16GB RAM
    • 8 Core
    • 400 GB Disk
    • Ubuntu 22.04
    • Docker and Docker Compose installed
  • Homelab / Minimal Requirements
    • If you want to run OneUptime for personal or experimental use in a home environment (Some of our users even have it installed on RaspberyPi), you can use the homelab requirements:
      • 8 GB RAM
      • 4 Core
      • 20 GB Disk
      • Docker and Docker Compose installed

Prerequisites for Single-Server Deployment

Before you start the deployment process, please make sure you have:

  • A server running Debian, Ubuntu, or RHEL derivative
  • Docker and Docker Compose installed on your server

To install OneUptime:

# Clone this repo and cd into it.
git clone https://github.com/OneUptime/oneuptime.git
cd oneuptime

# Please make sure you're on release branch.
git checkout release

# Copy config.example.env to config.env
cp config.example.env config.env

# IMPORTANT: Edit config.env file. Please make sure you have random secrets.

npm start

If you don't like to use npm or do not have it installed, run this instead:

# Read env vars from config.env file and run docker-compose up.
export $(grep -v '^#' config.env | xargs) && docker compose up --remove-orphans -d

To update:

git checkout release # Please make sure you're on release branch.
git pull
npm run update

OneUptime should run at: http://localhost. You need to register a new account for your instance to start using it. If you would like to use https, please use a reverse proxy like Nginx.

Development

For local development you need to use docker-compose.dev.yml file.

You need to make sure you have:

  • Docker and Docker compose installed.
  • Node.js and NPM installed.
# Clone this repo and cd into it.
git clone https://github.com/OneUptime/oneuptime.git
cd oneuptime

# Copy config.example.env to config.env
cp config.example.env config.env

# Since this is dev, you don't have to edit any of those values in config.env. You can, but that's optional.
npm run dev

Philosophy

Our mission is to reduce downtime and increase the number of successful products in the world. To do that, we built a platform that helps 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:

Donate

If you like the project, please consider a small donation. Every single dollar will be used to ship new features or maintain existing ones. 100% of the work we do is open-source. Please donate here