{"id":28989228,"url":"https://github.com/KSJaay/Lunalytics","last_synced_at":"2025-06-24T23:03:40.269Z","repository":{"id":208335898,"uuid":"720913522","full_name":"KSJaay/Lunalytics","owner":"KSJaay","description":"🚀 Open source monitoring tool built with Node.js","archived":false,"fork":false,"pushed_at":"2025-06-21T11:41:41.000Z","size":38535,"stargazers_count":406,"open_issues_count":10,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-21T12:29:39.683Z","etag":null,"topics":["application-monitoring","javascript","lunalytics","monitoring","nodejs","react","responsive","self-hosted","selfhosted","uptime","uptime-monitor","vite","webapp"],"latest_commit_sha":null,"homepage":"https://lunalytics.xyz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KSJaay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/conduct.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-20T00:30:18.000Z","updated_at":"2025-06-21T11:41:45.000Z","dependencies_parsed_at":"2023-11-26T16:26:45.580Z","dependency_job_id":"a97500ea-0578-4e16-be3c-60107f16a7c9","html_url":"https://github.com/KSJaay/Lunalytics","commit_stats":{"total_commits":142,"total_committers":2,"mean_commits":71.0,"dds":"0.028169014084507005","last_synced_commit":"146a3966c1a38dfe2fedc23d830e817323d7c271"},"previous_names":["ksjaay/uptime-lunar","ksjaay/lunalytics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KSJaay/Lunalytics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KSJaay%2FLunalytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KSJaay%2FLunalytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KSJaay%2FLunalytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KSJaay%2FLunalytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KSJaay","download_url":"https://codeload.github.com/KSJaay/Lunalytics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KSJaay%2FLunalytics/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261771093,"owners_count":23207215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-monitoring","javascript","lunalytics","monitoring","nodejs","react","responsive","self-hosted","selfhosted","uptime","uptime-monitor","vite","webapp"],"created_at":"2025-06-24T23:01:16.279Z","updated_at":"2025-06-24T23:03:40.253Z","avatar_url":"https://github.com/KSJaay.png","language":"JavaScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/KSJaay/Lunalytics/main/public/LogoWithName.png\" width=\"300px\" alt=\"Lunalytics logo\" /\u003e\n\u003c/div\u003e\n\n\u003ch2 align=\"center\"\u003eOpen source monitoring tool built with Node.js \u0026 React\u003c/h2\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://lunalytics.xyz\"\u003eDocumentation\u003c/a\u003e ·\n  \u003ca href=\"https://demo.lunalytics.xyz\"\u003eTry live demo\u003c/a\u003e ·\n  \u003ca href=\"https://lunalytics.xyz/api/monitor\"\u003eAPI Docs\u003c/a\u003e ·\n  \u003c!-- \u003ca href=\"https://lunalytics.xyz/internal/roadmap\"\u003eRoadmap\u003c/a\u003e --\u003e\n  \u003ca href=\"https://discord.gg/cjbGmmNdcd\"\u003eSupport\u003c/a\u003e\n\u003c/div\u003e\n\n![Demo](https://raw.githubusercontent.com/KSJaay/Lunalytics/refs/heads/main/docs/public/demo.gif)\n\n## 📔 Features\n\n- Easy to self-host\n- Monitor uptime for HTTP(s)/TCP\n- Support for multiple users\n- Fully customisable status/dashboard pages\n- Role based access control\n- Clean and easy to use UX/UI\n- Customizable user profiles/themes/colors\n- Support for notifications\n  - Discord\n  - Slack\n  - Telegram\n  - Webhook\n  - More to come...\n\n## 🚀 Getting Started\n\n\u003e [!CAUTION]\n\u003e\n\u003e This project is under active development, things may randomly break. But I'll do my best to fix them as soon as possible.\n\n#### Docker\n\n```bash\ndocker run -d \\\n  -p 2308:2308 \\\n  -v /path/to/data:/app/data \\\n  -v /path/to/logs:/app/logs \\\n  ksjaay/lunalytics:latest\n```\n\n#### Docker Compose\n\n```yaml\n# docker-compose.yml\nservices:\n  lunalytics:\n    image: ksjaay/lunalytics:latest\n    container_name: lunalytics\n    ports:\n      - '2308:2308'\n    volumes:\n      - ./path/to/data:/app/data\n      - ./path/to/logs:/app/logs\n```\n\n#### Requirements\n\nMake sure you have the following applications installed before starting:\n\n- [Nodejs](https://nodejs.org/en/download/) (v20 or higher)\n- Npm or [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable)\n- [Git](https://git-scm.com/)\n\n#### Clone application\n\n```bash\ngit clone https://github.com/KSJaay/Lunalytics.git\ncd Lunalytics\n```\n\n#### Setup application\n\n```bash\n# Setup application\nnpm run setup\n\n# Start application using scripts\nnpm run start\n\n# Alternatively start application using\nnode server/index.js\n```\n\nLunalytics will be accessible on https://localhost:2308\n\n#### Using pm2 to run application in the background\n\n```bash\n# Install pm2 globally\nnpm install pm2 -g\n\n# Start the server\npm2 start server/index.js --name Lunalytics\n\n# Or start the server using script\npm2 start npm --name \"Lunalytics\" -- run start\n\n# Optional\npm2 save\npm2 startup\n\n## Monitoring console output\npm2 monit\n```\n\n## 🎯 Roadmap\n\n- [x] Custom status pages\n- [x] Better design for compact mode\n- [ ] API keys for users\n- [ ] Move to Oauth2 for authentication\n  - [x] Moved to session based system, but not full Oauth2\n- [ ] Allow session management (Track/logout from sessions)\n- [ ] Add support for multiple databases\n  - [x] Add support for PostgreSQL\n  - [x] Add support for SQLite\n  - [ ] Add support for MongoDB\n- [ ] Add support for more notification services\n- [ ] Better role based access control\n\n## ⭐ Help us grow\n\n- Add a star to the project if you like it!\n- [AlternativeTo](https://alternativeto.net/software/lunalytics/about/)\n\n## 📖 Backstory\n\nThere'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.\n\nSo I've decided to create my own application that's focused on a developer first experience with support for multiple users.\n\n## Contributors\n\nNo longer just me :D\n\n\u003ca href=\"https://github.com/KSJaay/Lunalytics/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=KSJaay/Lunalytics\" /\u003e\n\u003c/a\u003e\n\n## License\n\nSee the [LICENSE](https://github.com/KSJaay/Lunalytics/blob/main/LICENSE) file for licensing information.\n","funding_links":[],"categories":["webapp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKSJaay%2FLunalytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKSJaay%2FLunalytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKSJaay%2FLunalytics/lists"}