Skip to content

KSJaay/Lunalytics

Repository files navigation

Lunalytics logo

Open source monitoring tool built with Node.js & React

Demo

⭐ Features

  • Easy to self-host
  • Monitor uptime for HTTP(s)/TCP
  • Support for multiple users
  • Role based access control
  • Clean and easy to use UX/UI
  • Customizable themes/colors
  • Customizable user profiles
  • Support for notifications
    • Discord
    • Slack
    • Telegram
    • Webhook
    • More to come...

πŸš€ Getting Started

Caution

This project is under active development, things may randomly break. But I'll do my best to fix them as soon as possible.

Requirements

Make sure you have the following applications installed before starting:

Clone application

git clone https://github.com/KSJaay/Lunalytics.git
cd Lunalytics

Setup application

# Setup application
npm run setup

# Start application using scripts
npm run start

# Alternatively start application using
node server/index.js

Lunalytics will be accessible on https://localhost:2308

Using pm2 to run application in the background

# Install pm2 globally
npm install pm2 -g

# Start the server
pm2 start server/index.js --name Lunalytics

# Or start the server using script
pm2 start npm --name "Lunalytics" -- run start

# Optional
pm2 save
pm2 startup

## Monitoring console output
pm2 monit

🎯 Roadmap

  • Custom status pages
  • Better design for compact mode
  • API keys for users
  • Move to Oauth2 for authentication
  • Allow session management (Track/logout from sessions)
  • Add support for multiple databases
    • Add support for PostgreSQL
    • Add support for SQLite
    • Add support for MongoDB
  • Add support for more notification services
  • Better role based access control

πŸ“– Backstory

There's a lot of monitoring applications out there and I personally love using uptime-kuma. But, one of the main issues with Uptime-kuma is the ability to share with my friends/colleagues. And for the services that do allow me to share with others, they either have an outdated UI from the 90s or are so expensive I can't justify paying for it.

So I've decided to create my own application that's focused on a developer first experience with support for multiple users.

Contributors

Just me for now I guess :(

License

See the LICENSE file for licensing information.