From 8cdf7a905a8b886760eac84771663d41cde01ef0 Mon Sep 17 00:00:00 2001 From: Newton Langidrik Date: Tue, 20 Jan 2026 13:47:09 +1200 Subject: [PATCH] Rebrand to PSS Uptime: Add custom logo and favicon, update all references from Uptime Kuma to PSS Uptime - Add custom logo.png and favicon.ico for Marshall Islands Public School System - Update all application references from 'Uptime Kuma' to 'PSS Uptime' - Update README.md with PSS Uptime branding and credits to original Uptime Kuma project - Update Docker configuration to build from source - Update all notification providers to use PSS Uptime branding - Update UI components, layouts, and pages with new branding - Update language files (en, zh-CN, zh-TW) with PSS Uptime translations - Add logo URL input field in status page settings - Update default icon references from icon.svg to logo.png --- README.md | 136 +++++++++--------- compose.yaml | 5 +- docker/dockerfile | 3 +- index.html | 7 +- public/favicon.ico | Bin 15086 -> 15406 bytes public/icon.svg | 109 ++++++++++++-- public/logo.png | Bin 0 -> 347011 bytes public/manifest.json | 4 +- server/model/monitor.js | 2 +- server/model/status_page.js | 2 +- server/monitor-types/mqtt.js | 2 +- server/notification-providers/alerta.js | 10 +- server/notification-providers/bark.js | 27 ++-- server/notification-providers/discord.js | 10 +- server/notification-providers/feishu.js | 4 +- server/notification-providers/gotify.js | 2 +- .../notification-providers/home-assistant.js | 6 +- server/notification-providers/keep.js | 2 +- server/notification-providers/line.js | 4 +- server/notification-providers/lunasea.js | 4 +- server/notification-providers/ntfy.js | 4 +- server/notification-providers/onebot.js | 2 +- server/notification-providers/onechat.js | 4 +- server/notification-providers/pushbullet.js | 4 +- server/notification-providers/pushplus.js | 6 +- server/notification-providers/pushy.js | 2 +- server/notification-providers/serverchan.js | 6 +- server/notification-providers/signl4.js | 6 +- server/notification-providers/slack.js | 4 +- server/notification-providers/splunk.js | 2 +- server/notification-providers/spugpush.js | 4 +- server/notification-providers/teams.js | 4 +- .../notification-providers/techulus-push.js | 2 +- server/notification-providers/wecom.js | 6 +- server/notification-providers/wpush.js | 6 +- server/uptime-kuma-server.js | 2 +- server/util-server.js | 2 +- src/components/notifications/Brevo.vue | 2 +- src/components/notifications/Cellsynt.vue | 2 +- src/components/notifications/Resend.vue | 2 +- src/components/notifications/SMTP.vue | 2 +- src/components/notifications/SevenIO.vue | 2 +- src/components/notifications/TechulusPush.vue | 4 +- src/components/settings/About.vue | 4 +- src/lang/en.json | 29 ++-- src/lang/zh-CN.json | 3 +- src/lang/zh-TW.json | 3 +- src/layouts/Layout.vue | 8 +- src/pages/ManageMaintenance.vue | 2 +- src/pages/ManageStatusPage.vue | 2 +- src/pages/NotFound.vue | 8 +- src/pages/Setup.vue | 4 +- src/pages/SetupDatabase.vue | 4 +- src/pages/StatusPage.vue | 23 ++- src/util.js | 2 +- src/util.ts | 2 +- test/e2e/specs/setup-process.once.js | 2 +- 57 files changed, 319 insertions(+), 196 deletions(-) create mode 100644 public/logo.png diff --git a/README.md b/README.md index 2164469bd..33a198388 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,18 @@
- Uptime Kuma Logo + PSS Uptime Logo
-# Uptime Kuma +# PSS Uptime -Uptime Kuma is an easy-to-use self-hosted monitoring tool. +PSS Uptime is an easy-to-use self-hosted monitoring tool for the Marshall Islands Public School System. - -[![GitHub Sponsors](https://img.shields.io/github/sponsors/louislam?label=GitHub%20Sponsors)](https://github.com/sponsors/louislam) -Translation status - +> **Note:** This project is based on [Uptime Kuma](https://github.com/louislam/uptime-kuma), an open-source monitoring tool created by [louislam](https://github.com/louislam). We extend our gratitude to the Uptime Kuma project and its contributors for their excellent work. -Uptime Kuma Dashboard Screenshot +PSS Uptime Dashboard Screenshot ## πŸ₯” Live Demo -Try it! +For a live demo of the original Uptime Kuma project, visit: Demo Server (Location: Frankfurt - Germany): @@ -23,9 +20,11 @@ It is a temporary live demo, all data will be deleted after 10 minutes. Sponsore ## ⭐ Features +PSS Uptime includes all the powerful features from Uptime Kuma: + - Monitoring uptime for HTTP(s) / TCP / HTTP(s) Keyword / HTTP(s) Json Query / Websocket / Ping / DNS Record / Push / Steam Game Server / Docker Containers - Fancy, Reactive, Fast UI/UX -- Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [90+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications) +- Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [90+ notification services](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications) - 20-second intervals - [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/lang) - Multiple status pages @@ -40,13 +39,12 @@ It is a temporary live demo, all data will be deleted after 10 minutes. Sponsore ### 🐳 Docker Compose ```bash -mkdir uptime-kuma -cd uptime-kuma -curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml -docker compose up -d +git clone +cd PSS-Uptime +docker compose up -d --build ``` -Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). +PSS Uptime is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). > [!WARNING] > File Systems like **NFS** (Network File System) are **NOT** supported. Please map to a local directory or volume. @@ -54,10 +52,11 @@ Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 ### 🐳 Docker Command ```bash -docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2 +docker build -t pss-uptime -f docker/dockerfile --target release . +docker run -d --restart=always -p 3001:3001 -v pss-uptime:/app/data --name pss-uptime pss-uptime ``` -Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). +PSS Uptime is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). If you want to limit exposure to localhost only: @@ -76,11 +75,11 @@ Requirements: - ❌ Replit / Heroku - [Node.js](https://nodejs.org/en/download/) >= 20.4 - [Git](https://git-scm.com/downloads) -- [pm2](https://pm2.keymetrics.io/) - For running Uptime Kuma in the background +- [pm2](https://pm2.keymetrics.io/) - For running PSS Uptime in the background ```bash -git clone https://github.com/louislam/uptime-kuma.git -cd uptime-kuma +git clone +cd PSS-Uptime npm run setup # Option 1. Try it @@ -91,10 +90,10 @@ node server/server.js npm install pm2 -g && pm2 install pm2-logrotate # Start Server -pm2 start server/server.js --name uptime-kuma +pm2 start server/server.js --name pss-uptime ``` -Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). +PSS Uptime is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001). More useful PM2 Commands @@ -108,96 +107,97 @@ pm2 startup && pm2 save ### Advanced Installation -If you need more options or need to browse via a reverse proxy, please read: +If you need more options or need to browse via a reverse proxy, please refer to the original Uptime Kuma documentation: ## πŸ†™ How to Update -Please read: +For update instructions, please refer to the original Uptime Kuma documentation: ## πŸ†• What's Next? -I will assign requests/issues to the next milestone. +For the latest features and roadmap, please check the original Uptime Kuma project: -## ❀️ Sponsors +## ❀️ Credits & Acknowledgments -Thank you so much! (GitHub Sponsors will be updated manually. OpenCollective sponsors will be updated automatically, the list will be cached by GitHub though. It may need some time to be updated) +PSS Uptime is based on [Uptime Kuma](https://github.com/louislam/uptime-kuma), an excellent open-source monitoring tool created by [louislam](https://github.com/louislam) and maintained by a dedicated community of contributors. -Uptime Kuma Sponsors +We would like to express our gratitude to: +- [louislam](https://github.com/louislam) for creating and maintaining Uptime Kuma +- All contributors to the Uptime Kuma project +- The open-source community that makes projects like this possible + +If you find PSS Uptime useful, please consider supporting the original Uptime Kuma project: +- [GitHub Sponsors](https://github.com/sponsors/louislam) +- [Open Collective](https://opencollective.com/uptime-kuma) ## πŸ–Ό More Screenshots Light Mode: -Uptime Kuma Light Mode Screenshot of how the Dashboard looks +PSS Uptime Light Mode Screenshot of how the Dashboard looks Status Page: -Uptime Kuma Status Page Screenshot +PSS Uptime Status Page Screenshot Settings Page: -Uptime Kuma Settings Page Screenshot +PSS Uptime Settings Page Screenshot Telegram Notification Sample: -Uptime Kuma Telegram Notification Sample Screenshot +PSS Uptime Telegram Notification Sample Screenshot -## Motivation +## About PSS Uptime -- I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the closest ones is statping. Unfortunately, it is not stable and no longer maintained. -- Wanted to build a fancy UI. -- Learn Vue 3 and vite.js. -- Show the power of Bootstrap 5. -- Try to use WebSocket with SPA instead of a REST API. -- Deploy my first Docker image to Docker Hub. +PSS Uptime is a customized version of Uptime Kuma for the Marshall Islands Public School System. This project maintains all the powerful features of the original Uptime Kuma while being tailored for the specific needs of the PSS organization. -If you love this project, please consider giving it a ⭐. +### Original Uptime Kuma Motivation + +The original Uptime Kuma project was created with the following motivations: +- A need for a self-hosted monitoring tool like "Uptime Robot" +- Building a fancy, modern UI +- Learning Vue 3 and vite.js +- Showcasing Bootstrap 5 capabilities +- Using WebSocket with SPA instead of REST API +- Deploying Docker images to Docker Hub + +If you love this project, please consider: +- Giving the original [Uptime Kuma project](https://github.com/louislam/uptime-kuma) a ⭐ +- Supporting the Uptime Kuma project through [GitHub Sponsors](https://github.com/sponsors/louislam) or [Open Collective](https://opencollective.com/uptime-kuma) ## πŸ—£οΈ Discussion / Ask for Help -⚠️ For any general or technical questions, please don't send me an email, as I am unable to provide support in that manner. I will not respond if you ask questions there. +For questions about PSS Uptime, please use the appropriate channels for this project. -I recommend using Google, GitHub Issues, or Uptime Kuma's subreddit for finding answers to your question. If you cannot find the information you need, feel free to ask: - -- [GitHub Issues](https://github.com/louislam/uptime-kuma/issues) +For questions about the original Uptime Kuma project, please refer to: +- [Uptime Kuma GitHub Issues](https://github.com/louislam/uptime-kuma/issues) - [Subreddit (r/UptimeKuma)](https://www.reddit.com/r/UptimeKuma/) -My Reddit account: [u/louislamlam](https://reddit.com/u/louislamlam) -You can mention me if you ask a question on the subreddit. +⚠️ For any general or technical questions about Uptime Kuma, please don't send emails to the original author, as they are unable to provide support in that manner. ## Contributions -### Create Pull Requests +### Contributing to PSS Uptime -Pull requests are awesome. -To keep reviews fast and effective, please make sure you’ve [read our pull request guidelines](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma). +Contributions to PSS Uptime are welcome! Please follow the project's contribution guidelines. -### Test Pull Requests +### Contributing to Uptime Kuma -There are a lot of pull requests right now, but I don't have time to test them all. +If you'd like to contribute to the original Uptime Kuma project (which benefits this project as well), please refer to: -If you want to help, you can check this: - +- [Uptime Kuma Contributing Guidelines](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma) +- [Test Pull Requests](https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests) +- [Latest Beta Releases](https://github.com/louislam/uptime-kuma/releases) +- [Report Bugs / Feature Requests](https://github.com/louislam/uptime-kuma/issues) +- [Translations](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md) -### Test Beta Version +## License -Check out the latest beta release here: - -### Bug Reports / Feature Requests - -If you want to report a bug or request a new feature, feel free to open a [new issue](https://github.com/louislam/uptime-kuma/issues). - -### Translations - -If you want to translate Uptime Kuma into your language, please visit [Weblate Readme](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md). - -### Spelling & Grammar - -Feel free to correct the grammar in the documentation or code. -My mother language is not English and my grammar is not that great. +This project is based on Uptime Kuma and follows the same license. Please refer to the [LICENSE](LICENSE) file for details. diff --git a/compose.yaml b/compose.yaml index 914e8603d..aec46fb87 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,6 +1,9 @@ services: uptime-kuma: - image: louislam/uptime-kuma:2 + build: + context: . + dockerfile: docker/dockerfile + target: release restart: unless-stopped volumes: - ./data:/app/data diff --git a/docker/dockerfile b/docker/dockerfile index e2a301e7b..5af1679d9 100644 --- a/docker/dockerfile +++ b/docker/dockerfile @@ -18,9 +18,10 @@ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 COPY --chown=node:node .npmrc .npmrc COPY --chown=node:node package.json package.json COPY --chown=node:node package-lock.json package-lock.json -RUN npm ci --omit=dev +RUN npm ci COPY . . COPY --chown=node:node --from=build_healthcheck /app/extra/healthcheck /app/extra/healthcheck +RUN npm run build RUN mkdir ./data ############################################ diff --git a/index.html b/index.html index 87aa6063a..83299373b 100644 --- a/index.html +++ b/index.html @@ -4,11 +4,12 @@ - + + - - Uptime Kuma + + PSS Uptime