Tola Leng 257718e9d6 feat: Add notification, integrate data retention service, and improve i18n support (#164)
* fix(ssl):  Ensure edit form saves notification_id and template_id in DB.

- The SSL edit form was not saving the `notification_id` and `template_id` fields to the PB database when re-assigning the Notification Channel and Alert Template.

* chore(partners): add Cloudflare to Ecosystem & Community Partner section

- Cloudflare has been added to the Ecosystem & Community Partner list to acknowledge their support and contribution.

*  chore(project): update development status and progress

- fix(ssl): ensure edit form saves notification_id and template_id in DB
- feat(notifications): add Notifiarr notification channel (planned)

* feat: Add Notifiarr to notification channels (UI)

- Add Notifiarr as a new channel type in the notification settings. The Notifiarr channel will use the `api_token` field for API key storage in PB.

* feat: Add channel_id field for Notifiarr

- Add channel_id field for Notifiarr to store record of the discord channel_id into the PB.

* feat: Implement Notifiarr notification service

- The Notifiarr notification functionality has been implemented. The alert configuration channel will now use the `api_token` and `channel_id` field for send to the Notifiarr API endpoint.

*  chore(project): update development status and progress

- feat: Add channel_id field for Notifiarr
- feat: Implement Notifiarr notification service

Closes: #133

* feat: add SSL history and Notifiarr notification channel schema

* Fix: Remove duplicate close button

- Removed the duplicate close button from the test email dialog.

* feat: Add Gotify to notification channels

- Add Gotify  as a new channel type in the notification settings. The Gotify channel will use the `api_token` and `server_url` field for API key storage in PB.

* feat: Implement Gotify notification service

- The Gotify notification functionality has been implemented. The alert configuration channel will now use the `api_token` and `server_url` field for send to the Gotify API endpoint.

*  chore(project): update development status and progress
- feat: Add server_url field for Gotify
- feat: Implement Gotify notification service

* refactory(i18n): Improve internationalization configuration and add new translations

- Added multiple new translation items
- Updated the two language files: en and zhcn
- Added type definitions for new translation items in types/services.ts
- Modified some components to use the new translation items

* refactory(i18n): Added architecture import function translation for the "About" page

- Added translation items related to schema import in English, Chinese, and type definition files
- Replaced hard-coded text with new translation items in the AboutSystem component

* refactory(i18n): Added architecture import function translation for the "About" page

- Added translation items related to schema import in English, Chinese, and type definition files
- Replaced hard-coded text with new translation items in the AboutSystem component

* refactory(i18n): Add internationalization support for the service statistics card

* feat: Add NTFY API token field for Token-based authentication to ntfy server

- Add the api_token field for NTFY notifications in both the dialog and service to save it to PB. NTFY schema to include api_token field.

* feat(auth): add token support for ntfy

- Updated the NTFY service to support API token authentication by adding Authorization Bearer header when api_token is provided.

Closes: #89

* refactor(i18n): Added Chinese translations for Create Event and Maintenance

- Supplemented missing Chinese translations
- Added translation entries related to Create Event and Maintenance in both English and Chinese translation files

* chore: deactivate GitHub donation

* refactor(i18n): Optimize internationalization configuration and add new translation items

- Add internationalization support to the LoadingState component
- Implement internationalization translations in the Profile page
- Use internationalized text in the TestEmailDialog component
- Update English and Chinese translation files by adding new translation entries

* docs(readme): deactivate donations, accept only infra support (cloud, domain, hosting)

* feat(i18n): Enhanced internationalization support with variable interpolation

- Refactored the `t` function in LanguageContext to support multiple parameter combinations
- Added variable interpolation feature, allowing variables in translated texts
- Optimized translation logic to improve accuracy and performance
- Enhanced type safety by using TypeScript generics to ensure correct typing

* refactor(i18n): Optimize service pagination internationalization copy

- Added service pagination related copy in English and Chinese translation files
- Updated type definitions to include new translation fields
- Modified the ServicesPagination component to use the newly added translation fields

* docs(README_zhcn): Update documentation content and sponsorship policy

- Update image links in the documentation
- Revise the sponsorship policy to no longer accept individual sponsorships, only enterprise-level collaborations
- Update the display method for supporters and partners
- Add Cloudflare and DigitalOcean as new partners

* feat: Integrate data retention service

- Implemented the data retention service in Go (service-operation) that manages cleanup of old records based on configured retention periods. The service runs once per day to ensure outdated data is removed automatically.

* refactor: Remove manual cleanup buttons from Data Retention Settings

- The three manual cleanup buttons have been removed from the dashboard.
- The data retention service now automatically runs once per day, cleaning up older data based on the configured retention settings.

---------

Co-authored-by: YiZixuan <sqkkyzx@qq.com>
Co-authored-by: YiZixuan <sqkkyzx@outlook.com>
2025-09-13 21:38:38 +07:00
2025-07-15 22:12:21 +07:00

🌐 Select Language

English
English
Khmer
ខ្មែរ
Japanese
Japanese
Chinese
Chinese

Thank you to all our contributors, users, and supporters for making this project thrive.

🚀 Stay tuned for more updates, features, and improvements.

CheckCle Platform

🚀 What is CheckCle?

CheckCle is an Open Source solution for seamless, real-time monitoring of full-stack systems, applications, and infrastructure. It provides developers, sysadmins, and DevOps teams with deep insights and actionable data across every layer of their environment—whether it's servers, applications, or services. With CheckCle, you gain visibility, control, and the ability to ensure optimal performance throughout your entire technology stack.

🎯 Live Demo

👉 Try it now: CheckCle Live Demo User: admin@example.com | Passwd: Admin123456

🌟 Core Features

📝 Roadmap : DEVELOPMENT_ROADMAP

Uptime Services & Infrastructure Server Monitoring

  • Monitor HTTP, DNS, and Ping protocols
  • Monitor TCP-based, API services (e.g., FTP, SMTP, HTTP)
  • Track detail uptime, response times, and performance issues
  • Distributed Regional Monitoring
  • Incident History (UP/DOWN/WARNING/PAUSE)
  • SSL & Domain Monitoring (Domain, Issuer, Expiration Date, Days Left, Status, Last Notified)
  • Infrastructure Server Monitoring, Supports Linux (🐧 Debian, Ubuntu, CentOS, Red Hat, etc.) and Windows (Beta). And Servers metrics like CPU, RAM, disk usage, and network activity) with an one-line installation angent script.
  • Schedule Maintenance & Incident Management
  • Operational Status / Public Status Pages
  • Notifications via email, Telegram, Discord, and Slack
  • Reports & Analytics
  • Settings Panel (User Management, Data Retention, Multi-language, Themes (Dark & Light Mode), Notification and channels and alert templates).

#️⃣ Getting Started

Current Architecture Support

  • x86_64 PCs, laptops, servers (amd64)
  • Modern Raspberry Pi 3/4/5 with (64-bit OS), Apple Silicon Macs (arm64)

Install CheckCle using one of the following methods:

  1. Install with Docker Compose Configuration (Recommended)

version: '3.9'

services:
  checkcle:
    image: operacle/checkcle:latest
    container_name: checkcle
    restart: unless-stopped
    ports:
      - "8090:8090"  # Web Application
    volumes:
      - /opt/pb_data:/mnt/pb_data  # Host directory mapped to container path
    ulimits:
      nofile:
        soft: 4096
        hard: 8192

  1. Install with docker run. Just copy ready docker run command below
docker run -d \
  --name checkcle \
  --restart unless-stopped \
  -p 8090:8090 \
  -v /opt/pb_data:/mnt/pb_data \
  --ulimit nofile=4096:8192 \
  operacle/checkcle:latest

  1. Admin Web Management

    Default URL: http://0.0.0.0:8090 User: admin@example.com Passwd: Admin123456

  2. Follow the Quick Start Guide at https://docs.checkcle.io

checkcle-collapse-black Service Detail Page checkcle-server-instance SSL Monitoring Notification System

🌟 CheckCle for Communities?

  • Built with Passion: Created by an open-source enthusiast for the community
  • Free & Open Source: Completely free to use with no hidden costs
  • Collaborate & Connect: Meet like-minded people passionate about Open Source

Sponsors

Sponsorships will no longer be accepted. From now on, support will only be accepted in the form of ecosystem and community partnerships that provide infrastructure such as cloud servers, domains, or hosting credits.

If youre a tech company interested in supporting CheckCle, please contact the author directly at tolaleng@checkcle.io

🤝 Ecosystem & Community Partner


👥 Contributors

Thank you for contributing and continuously making CheckCle better, you're awesome 🫶


🤝 Ways to Contribute

Here are some ways you can help improve CheckCle:

  • 🐞 Report Bugs Found a glitch? Let us know by opening a GitHub Issue.
  • 🌟 Suggest Features Have an idea? Start a Discussion or open a Feature Request issue.
  • 🛠 Submit Pull Requests Improve the code, fix bugs, add features, or enhance the docs.
  • 📝 Improve Documentation Even a typo fix helps!
  • 🌍 Spread the Word Star the CheckCle repo, share it on socials, and invite others to contribute!

🌍 Stay Connected

📜 License

CheckCle is released under the MIT License.


S
Description
CheckCle is a self-hosted, open-source monitoring platform for seamless, real-time full-stack systems, applications, and infrastructure. It provides real-time uptime monitoring, distributed checks, incident tracking, and alerts. All deployable anywhere.
Readme 58 MiB
Languages
Go 66%
TypeScript 30.6%
PLpgSQL 1.4%
JavaScript 1%
Shell 0.8%