# Welcome to CheckCle

{% hint style="info" %}
Built with ❤️ by open source enthusiasts, for the community.
{% endhint %}

**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. Designed with detail, 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.

### Try Our Live Demo

Demo URL: [https://demo.checkcle.io](https://demo.checkcle.io/login)

User: <mark style="color:green;"><admin@example.com></mark> / passsword: <mark style="color:green;">Admin123456</mark>

### 🌆 Screenshots

<figure><img src="https://cdn.checkcle.io/images/server-detail-page.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://cdn.checkcle.io/images/uptime-1.4.png" alt=""><figcaption></figcaption></figure>

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td>Uptime Detail Page</td><td><a href="https://cdn.checkcle.io/images/uptime/uptime-regional-detail.png">https://cdn.checkcle.io/images/uptime/uptime-regional-detail.png</a></td><td><a href="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FfEM21u00oPjN4sGEi21v%2F1dda054a-fdba-49b7-9125-6ccfbef020b4.png?alt=media&amp;token=f606512d-0749-4b57-a9a1-0319cc8014a5">1dda054a-fdba-49b7-9125-6ccfbef020b4.png</a></td></tr><tr><td>Server Management</td><td><a href="https://cdn.checkcle.io/images/server/server-list.png">https://cdn.checkcle.io/images/server/server-list.png</a></td><td><a href="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2F9OLQLk7JGgYrANYYCulj%2Fserver-list.png?alt=media&amp;token=6c326b4e-1782-4813-beba-a4f919869b3c">server-list.png</a></td></tr><tr><td>SSL Certs Management</td><td><a href="https://cdn.checkcle.io/images/ssl-domain/ssl-list.png">https://cdn.checkcle.io/images/ssl-domain/ssl-list.png</a></td><td><a href="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2F2Y8CadV3S3rNcadWQrSd%2F634051a2-f9d0-4495-9063-dc99ba3c207b.png?alt=media&amp;token=28e7d1e2-dd65-48c3-9c7c-8b58736b5356">634051a2-f9d0-4495-9063-dc99ba3c207b.png</a></td></tr></tbody></table>

### 🌟 Core Features

**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 agent 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).

### 🚀 Tech Stack

**Frontend**

* [**Vite**](https://vite.dev/)**:** Development environment for fast builds
* [**React**](https://react.dev/) **&** [**TypeScript**](https://www.typescriptlang.org/)**:** Dynamic and maintainable UI components
* [**Tailwind CSS**](https://tailwindcss.com/)**:** Rapid, utility-based design
* [**shadcn-ui**](https://ui.shadcn.com/)**:** Pre-styled components for consistent UX

**Backend**

* [**Go-lang**](https://go.dev/)**:** High-performance language used for building scalable backend logic.
* [**SQLite**](https://www.sqlite.org/)**:** Embedded, Serverless SQL database for simplicity and reliability.
* [**PocketBase**](https://pocketbase.io/)**:** Open-source backend framework offering built-in REST API, authentication, real-time updates, and file storage — all in a single executable.

### 💥 Why CheckCle?

* **Precision:** Monitoring is more than just tracking metrics, it's about understanding the context, diagnosing root causes, and optimizing performance.
* **Community & Support:** Our vibrant, open-source community is here to help you succeed. Share knowledge, provide feedback, and contribute to a project that evolves with the needs of its users.
* **Free & Open:** CheckCle is completely open-source, allowing you to modify and adapt it to fit your specific needs without any vendor lock-in.

### 🌍 Stay Connected

* Website: [checkcle.io](https://checkcle.io/)
* Documentation: [docs.checkcle.io](https://docs.checkcle.io/)
* GitHub Repository: ⭐ [CheckCle](https://github.com/operacle/checkcle.git)
* Community Channels: Engage via discussions and issues!
* Discord: Join our community [@discord](https://discord.gg/xs9gbubGwX)
* X: [@](https://x.com/tlengoss)[checkcle\_oss](https://x.com/checkcle_oss)

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td>Create your first site</td><td></td><td></td><td><a href="/getting-started/quickstart">Quickstart</a></td></tr><tr><td><strong>Basics</strong></td><td>Learn the basics of GitBook</td><td></td><td></td><td><a href="/main-features/setting-panel">MAIN FEATURES</a></td></tr><tr><td><strong>Publish your docs</strong></td><td>Share your docs online</td><td></td><td></td><td><a href="/getting-started/project-structure">Project Structure</a></td></tr></tbody></table>


# 💡 System Usage Notice

The system is currently under active development. It can be used in production, but this is not recommended until version 2.0.0 is released.

**Development Stage**

* Current release versions (**v1.x.x**) are still evolving.
* Features, APIs, and behaviors may change without prior notice.
* Backward compatibility is not fully guaranteed until the **v2.0.0** release.

**Production Usage**

* You *can* deploy the system in production environments, but expect potential risks.
* Stability, security patches, and long-term support will only be guaranteed starting from **v2.0.0**.
* Using v1.x.x in production is suitable for **early adopters and experimental use cases**, but not recommended for critical workloads.

**Deployment and Feedback**

* The v1.x.x versions are intended mainly for development, evaluation, and gathering community feedback.
* <mark style="color:$warning;">We welcome contributions, bug reports, and feature suggestions to improve the project before the stable milestone.</mark>

**Roadmap**

* **v1.x.x** → Development & evaluation, and gathering community feedback (current stage).
* **v2.0.0** → Planned stable release with production-ready features, improved stability, and long-term support.


# Version Support

## CheckCle Version Support

This page outlines the support policy for the CheckCle releases. CheckCle follows semantic versioning, with regular bug-fix releases between major versions and defined maintenance windows to ensure stability and reliability for users.

### Support Policy

* **Active Support**: Versions still receiving feature improvements and bug fixes.
* **Maintenance Support**: Versions no longer receiving new features but still receiving critical bug and security fixes.
* **End of Life (EOL)**: Versions no longer maintained.

We strongly encourage upgrades to the latest non-EOL release for best performance, features, and security.

### Version v1.x.x Support Table

| Version    | Status         | Released     | EOL Date                     | Notes                                |
| ---------- | -------------- | ------------ | ---------------------------- | ------------------------------------ |
| **v1.6.x** | Active Support | *2025-09-13* | —                            | Latest feature release series        |
| **v1.5.x** | Maintenance    | *2025-08-14* | is now in **legacy support** | Only critical bug and security fixes |
| **v1.4.x** | EOL            | *2025-07-22* | —                            | No longer supported                  |
| **v1.3.x** | EOL            | *2025-06-20* | —                            | Legacy support ended                 |
| **v1.2.x** | EOL            | *2024-05-26* | —                            | Legacy support ended                 |
| **v1.1.x** | EOL            | *2024-05-16* | —                            | Legacy support ended                 |
| **v1.0.x** | EOL            | *2024-05-09* | —                            | Initial release series               |

> **Note:** Dates shown are approximate based on releases on the official CheckCle GitHub Releases page: <https://github.com/operacle/checkcle/releases>

### What Each Support Level Means

#### Active Support

* Receives **new features**, **bug fixes**, and **security updates**.
* Recommended for all users.
* CheckCle updates in this range will maintain compatibility with the most recent protocols and best practices.

#### Maintenance

* Receives **important bug fixes** and **security updates** only.
* No new features.
* Provides time for users to upgrade to a newer minor version.

#### End of Life (EOL)

* No updates provided.
* Users are encouraged to upgrade to a supported release.
* Fixes may still be documented but no longer provided as patches.


# Quickstart

Welcome to CheckCle! Get started with CheckCle in minutes.

This quick installation lets you spin up the entire platform using Docker Compose, so you can start monitoring in just a few minutes. It sets up the CheckCle dashboard, backend services, and core agent with minimal effort, no complex configuration required.

{% hint style="success" %}
🚀 CheckCle has been successfully tested in real monitoring scenarios, handling 70+ uptime checks, 15 servers, and over 60 SSL certificates — all while using minimal CPU and memory. It's optimized to perform well even on low-resource environments.
{% endhint %}

#### 🖥️ System Requirements

To run CheckCle smoothly, make sure your system meets the following specifications:

| 🔧Minimum Requirements:                                                                                                                                                                                                                                                                                                    | ✅ Recommended for Production:                                                                                                                                                                                                                                                                                                                                                                                |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <ul><li><strong>CPU</strong>: 1 vCPU</li><li><strong>RAM</strong>: 500MB</li><li><strong>Disk</strong>: 2 GB free storage</li><li><strong>OS</strong>: Docker on Linux (Debian/Ubuntu/Alpine/CentOS), macOS, or Windows </li><li><strong>Docker</strong>: v20.10+</li><li><strong>Docker Compose</strong>: v2.0+</li></ul> | <ul><li><strong>CPU</strong>: 2+ vCPUs</li><li><strong>RAM</strong>: 2–4 GB</li><li><strong>Disk</strong>: SSD with 10 GB+ free</li><li><strong>Public IP</strong> (for agent connectivity & external access)</li><li>Private IP (if all your application and server running in the same network)</li><li><strong>TLS/SSL Certificate</strong> for secure access (e.g., via NGINX + Let’s Encrypt)</li></ul> |

### 🚀 Deployment &#x20;

{% stepper %}
{% step %}

### Deploy **CheckCle** as a Docker container

{% hint style="info" %}
You can install CheckCle using one of the following methods:
{% endhint %}

Best for production environments or if you want to manage multiple containers easily. Simply create a `docker-compose.yml` file and run `docker-compose up -d` to start CheckCle with persistent storage and customizable settings.

{% tabs %}
{% tab title="Docker-Compose" %}

```yaml
# Create docker-compose.yml

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
```

{% endtab %}

{% tab title="Docker Run" %}

```yaml
# Docker Run Command

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
```

{% endtab %}

{% tab title="One-Click Install" %}

```yaml
curl -fsSL https://checkcle.io/install.sh | bash
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Default Credentials for CheckCle&#x20;

* **Username:** `admin@example.com`
* **Password:** `Admin123456`
  {% endstep %}

{% step %}

### How to Check Container Logs for CheckCle

Use this command to view real-time logs of the CheckCle container, including service checks, errors, and other important information:

`docker logs -f checkcle`&#x20;

This lets you monitor the agent’s logic, detect any errors, and troubleshoot issues as they happen.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FTcxRRJkh5U7lldz1gTbg%2Fimage.png?alt=media&amp;token=67f45d0f-81f2-498f-a718-f5dabdaa2a29" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### 🔒 Important: Change Default Username and Password

{% hint style="success" %}
For security reasons, **please change the default credentials immediately after your first login** to prevent unauthorized access.
{% endhint %}

**Tips for a strong password:**

* Use at least 8-12 characters.
* Mix uppercase, lowercase, numbers, and symbols.
* Avoid common words or easily guessable info.
  {% endstep %}
  {% endstepper %}

### U**ninstall CheckCle container and image**

{% stepper %}
{% step %}

### &#x20;Step 1: Stop and Remove the CheckCle Container

`docker stop checkcle`\
`docker rm checkcle`
{% endstep %}

{% step %}

### Step 2: Remove the CheckCle Image&#x20;

`docker rmi operacle/checkcle:latest`

If you used a different tag or version, adjust `latest` accordingly.
{% endstep %}

{% step %}

### Optional: Remove Associated Volumes (if used)

if you mounted local folders (like `/mnt/pb_data`), you can remove them manually:

`rm -rf /mnt/pb_data`
{% endstep %}
{% endstepper %}

### ✅ Recommended Tips for Deploying CheckCle

**1. Use a Reverse Proxy (Nginx / Caddy / Traefik)**

* Route traffic cleanly to the CheckCle app.
* Enable better control over SSL, caching, and rate limiting.
* Example: Forward traffic from `yourdomain.com` to `localhost:8090`

**2. Run Over HTTPS**

* Always use **SSL/TLS** to secure your dashboard and API.
* Use **Let's Encrypt** for free certificates.
* Tools like **Caddy** or **Certbot + Nginx** make this easy.

**3. Enable Basic Auth or IP Whitelisting (Optional)**

* Add extra protection in front of the app while setting it up.

**4. Use Docker Volumes or Bind Mounts**

* Persist CheckCle data across container restarts.
* Example: `-v ./pb_data:/app/pb_data`

**5. Secure API Endpoints (if exposed)**

* Avoid exposing internal APIs to the internet unless protected.
* Use firewall rules or reverse proxy access controls.

**6. Monitor and Restart Automatically**

* Use `restart: unless-stopped` in Docker or a health check in Kubernetes.
* Ensures CheckCle stays up in case of failure.


# Upgrading Version

When upgrading CheckCle, it’s important to note that the process is not limited to pulling the latest Docker image. A full upgrade also involves updating the database schema to match the new version requirements. This ensures that all new features, bug fixes, and structural changes are properly applied and the system continues running smoothly.

The upgrade process generally includes:

1. **Removing and Pulling the latest Docker image** – to get the newest application code and improvements.

```sh
# Find and stop the existing container
docker ps -q --filter "name=checkcle" | xargs -r docker stop

# Remove the stopped container
docker ps -a -q --filter "name=checkcle" | xargs -r docker rm

# Remove the existing Docker image
docker images -q "operacle/checkcle" | xargs -r docker rmi

# Pull the latest CheckCle image
docker pull operacle/checkcle:latest

# Start a new container with the latest image
Run the container from the existing Compose file with:
docker compose up -d

# Alternatively, you can run it using the docker run command.
docker run -d \
  --name checkcle \
  --restart unless-stopped \
  -p 8090:8090 \
  -v /opt/pb_data:/mnt/pb_data \ # make sure you put the correct existing path
  --ulimit nofile=4096:8192 \
  operacle/checkcle:latest

# Verify the container is running and logs
docker ps | grep checkcle
docker logs -f checkcle
```

2. **Applying database schema migrations** – to update tables, fields, or relationships required by the new version.&#x20;
   * Go to the ***About System*** page in the dashboard.
   * You will see a new *<mark style="color:green;">**Update Schema**</mark>* button — simply click it to update, as shown in the image I shared with you.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FBF7oxdHNWo7DHgAKcu8H%2Fimage.png?alt=media&amp;token=d5ae2e6d-ccbd-44ec-a448-bd7f2d956748" alt=""><figcaption></figcaption></figure>

2. **Verifying compatibility** – checking that the upgraded application and database are aligned, with no missing fields or mismatched structures. and also check the version number in the about system page.
3. **Testing the system after upgrade** – confirming that alerts, monitoring, and integrations continue to work as expected.


# Backup

CheckCle Data Backup & Persistence Guide

### 1. Data Persistence Setup

CheckCle uses **PocketBase** as its embedded database. By default, PocketBase stores all application data in the `pb_data` folder inside the container. To prevent data loss when restarting or recreating the container, you should persist this directory on the host machine.

#### Example: Host Volume Mount

In your container configuration:

* **Host Path**: `/mnt/db/pb_data`
* **Container Path**: `/mnt/pb_data`
* **Mode**: `RW` (Read/Write)

This ensures all PocketBase data (SQLite database, uploaded files, migrations, logs) is stored on the host at:

```
/mnt/db/pb_data
```

With this setup, even if the container is removed or recreated, the CheckCle data will persist.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FzspfptrJhSFPBohZKHOA%2Fimage.png?alt=media&amp;token=1c254e86-f2e7-4397-b522-9fbf54a2c178" alt=""><figcaption></figcaption></figure>

### 2. Backup Strategy for `pb_data`

Since `pb_data` contains the SQLite database and file storage, backing it up regularly is critical. Here are recommended strategies:

#### A. Simple File Copy Backup

Use `rsync` or `cp` to copy the `pb_data` folder to a backup location:

```bash
# Example: backup to /backups/checkcle with timestamp
rsync -avz /mnt/db/pb_data /backups/checkcle/pb_data_$(date +%F_%H-%M-%S)
```

#### B. Compressed Archive Backup

Create a compressed `.tar.gz` archive for portability:

```bash
tar -czvf /backups/checkcle/pb_data_$(date +%F).tar.gz /mnt/db/pb_data
```

#### C. Automated Cron Job

Automate daily backups with `cron`:

```bash
0 2 * * * rsync -avz /mnt/db/pb_data /backups/checkcle/pb_data_$(date +\%F) >> /var/log/checkcle_backup.log 2>&1
```

This runs at **2 AM daily**.

#### D. Remote Backup (Optional)

Push backups to a remote server or cloud (S3, MinIO, rsync to another server):

```bash
rsync -avz /mnt/db/pb_data user@remote-server:/remote/backups/checkcle/
```

***

### 3. Restore Strategy

To restore a backup:

1. Stop the CheckCle (PocketBase) container:

   ```bash
   docker stop checkcle
   ```
2. Replace the `pb_data` directory with your backup:

   ```bash
   rm -rf /mnt/db/pb_data
   cp -r /backups/checkcle/pb_data_2025-09-15 /mnt/db/pb_data
   ```
3. Restart the container:

   ```bash
   docker start checkcle
   ```

### 4. Best Practices

* **Always back up before upgrades** of CheckCle or PocketBase.
* **Test restore procedures** regularly to ensure backups are valid.
* **Use off-site storage** (S3, Minio, or another server) for disaster recovery.
* **Monitor disk space** on the host to prevent backup failures.


# Local Development

We welcome all kinds of contributions, big or small. This guide will help you get started.

### 📜 Code of Conduct

We follow a [Code of Conduct](https://opensource.guide/code-of-conduct/) to foster an open and welcoming community. By participating, you agree to uphold these standards.

***

### 🤝 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](https://github.com/operacle/checkcle/issues).
* 🌟 **Suggest Features** – Have an idea? Start a [Discussion](https://github.com/operacle/checkcle/discussions) 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 repo, share it on socials, and invite others to contribute!

***

### 🧰 Development Setup

Before contributing code, set up the project locally:

1\. Fork the Repository

Click "Fork" on [<mark style="color:green;">**GitHub**</mark>](https://github.com/operacle/checkcle) to create your own copy.

2\. Clone Your Fork

```
git clone https://github.com/yourusername/checkcle.git
cd checkcle
```

#### 3. Install Dependencies

Follow the instructions in the README or project docs to install required packages and run the local development server.

#### 4. Start Local Development

```
#Web Application
cd application/ 
npm install && npm run dev

#Server Backend
cd server
./pocketbase serve --dir pb_data 

If you're not using localhost, please run with this (./pocketbase serve --http=0.0.0.0:8090 --dir pb_data)
```

#### 4. Start Service Check Operation

```
#Server Backend 
Start Service Operation (Check Service for PING, HTTP, TCP, DNS)

cd server/service-operation

go run main.go (you do not need to change the .env while it's the localhost connection)
```

#### 5. Start Distributed Regional Agent

```
#### 1. Fork the Repository
Click "Fork" on [GitHub](https://github.com/operacle/Distributed-Regional-Monitoring) to create your own copy.

#### 2. Clone Your Fork
git clone --branch main https://github.com/operacle/Distributed-Regional-Monitoring.git
cd Distributed-Regional-Monitoring

#### 3. Install Go Service (make sure you have installed the Go Service)

Copy .env.example -> .env
Change regional agent configuration in .env file
and Run: go run main.go
```

***

### ✅ Pull Request Process

1. Ensure your code follows the existing style and naming conventions.
2. Write clear, concise commit messages.
3. Push your branch and open a Pull Request (PR) on the `develop` branch.
4. Provide a meaningful PR description (what/why/how).
5. Link related issues if applicable (e.g. `Closes #12`).
6. Make sure all checks pass (e.g., linting, tests).

We’ll review your PR, request changes if needed, and merge it once ready!

***

### 🐛 Reporting Bugs & Issues

Please include as much information as possible:

* A clear, descriptive title
* Steps to reproduce
* Expected vs actual behavior
* Environment info (OS, browser, device, etc.)
* Screenshots or logs if applicable

Use the [Issue Tracker](https://github.com/operacle/checkcle/issues) to report.

***

### 💡 Feature Requests

We’d love to hear your ideas! Open a [Discussion](https://github.com/operacle/checkcle/discussions) or Feature Request issue. Make sure it’s not already listed in the [Roadmap](https://github.com/operacle/checkcle#development-roadmap).


# Project Structure

Here’s an overview of the project structure for the CheckCle repository on GitHub

#### 📜  CheckCle Project Root

```
Project-structure/
├── .github/
├── application/
├── docker/
├── docs/
├── scripts/
├── server/
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── SECURITY.md
└── docker-compose.yml
```

#### 📁 Key Folders & Files

* **.github/**\
  Contains GitHub-specific configurations and workflows (e.g., Template, CI/CD pipelines).
* **application/**\
  Likely houses the main frontend/Tailwind-based application layer.
* **docker/**\
  Contains Docker configuration scripts or `Docker compose` setups for containerized deployment.
* **docs/**\
  Documentation for the project—including split README, CONTRIBUTING into different language. installation guides, API docs, and user manuals.
* **scripts/**\
  Utility scripts for project management—such as build, install, deployment, or agent setup tasks.
* **server/**\
  Backend Go services (Core operations check service, handling uptime, SSL monitoring, endpoints, core services and more).
* **docker-compose.yml**\
  Defines multi-container setup—frontend UI, backend service, database, agents&#x20;
* **README.md**\
  Main project overview, features, and quick-start instructions [github.com](https://github.com/operacle/checkcle/releases).
* **LICENSE.md & CODE\_OF\_CONDUCT.md & SECURITY.md & CONTRIBUTING.md**\
  Standard community files defining usage license, contribution rules, security policy, and code-of-conduct.

#### 🧩 Architecture Highlights

* **Frontend (TypeScript/Vite)** in `application/`
* **Backend (in Go)** in `server/` covering monitoring services, distributed and server agents
* **Dockerized Deployment** via `docker/` folder and `docker-compose.yml`
* **Comprehensive Docs** and automated pipelines via `.github/` and `scripts`


# Uninstalling


# 1. Uninstall CheckCle System

**CheckCle uninstallation guide** with explanations and extra cleanup steps in case you want to fully remove everything related to it:

***

### &#x20;Step 1: Stop and Remove the Running Container

```bash
docker stop checkcle
docker rm checkcle
```

* `docker stop` → gracefully stops the container.
* `docker rm` → removes the container definition (but not the image yet).

***

### &#x20;Step 2: Remove the CheckCle Image

```bash
docker rmi operacle/checkcle:latest
```

* Removes the Docker image from your local system.
* If you used another version or tag (e.g., `operacle/checkcle:v1.0.0`), adjust accordingly.
* If multiple images exist, list them first:

  ```bash
  docker images | grep checkcle
  ```

***

### &#x20;Step 3: (Optional) Remove Volumes or Data Folders

If you mounted local folders (e.g., PocketBase data or logs), you can clean them up manually. For example:

```bash
rm -rf /mnt/pb_data
```

⚠️ Careful: This will permanently delete all data (databases, logs, configurations).

If Docker volumes were created:

```bash
docker volume ls | grep checkcle
docker volume rm <volume_name>
```

***

### &#x20;Step 4: Remove Networks (Optional)

If you created a custom Docker network for CheckCle:

```bash
docker network ls | grep checkcle
docker network rm <network_name>
```

***

### &#x20;Step 5: Verify Cleanup

Check if anything related to CheckCle is still running:

```bash
docker ps -a | grep checkcle
docker images | grep checkcle
docker volume ls | grep checkcle
docker network ls | grep checkcle
```

If all return empty, CheckCle is fully removed.


# 2. Unistall Server Agent

**Guide for uninstalling the Monitoring Agent** (your `.deb` packaged agent) with different scenarios explained:

***

### &#x20;Stop and Disable the Service

```bash
sudo systemctl stop monitoring-agent
sudo systemctl disable monitoring-agent
```

* Ensures the agent is not running anymore.
* `disable` prevents it from starting on boot.

***

### &#x20;Remove vs. Purge

There are two main ways to uninstall Debian packages:

1. **Remove (keep configuration files)**

   ```bash
   sudo dpkg -r monitoring-agent
   ```

   * Removes the package binaries, but **keeps configs** in `/etc/monitoring-agent/` (if you had any).
   * Useful if you plan to reinstall and keep previous settings.
2. **Purge (remove everything)**

   ```bash
   sudo dpkg -P monitoring-agent
   ```

   * Completely removes binaries **and configuration files**.
   * Use this if you want a **fresh clean uninstall**.

### &#x20;Optional Cleanup

If logs or runtime data are stored outside the package (e.g., in `/var/lib/monitoring-agent/` or `/var/log/monitoring-agent/`), you may want to remove them manually:

```bash
sudo rm -rf /var/lib/monitoring-agent
sudo rm -rf /var/log/monitoring-agent
sudo rm -rf /etc/monitoring-agent
```

***

With this, you can:

* **Stop and disable** the service.
* **Remove or purge** the package depending on whether you want to keep configs.


# 3. Uninstall Regional Agent

**Guide for `regional-check-agent`**, with explanations and extra cleanup options:

***

### &#x20;Stop and Disable the Service

```bash
sudo systemctl stop regional-check-agent
sudo systemctl disable regional-check-agent
```

* `stop` → halts the running service.
* `disable` → prevents it from auto-starting at boot.

***

### &#x20;Uninstall Options

1. **Remove Package (keep configs & logs)**

   ```bash
   sudo dpkg -r regional-check-agent
   ```

   * Uninstalls the binaries.
   * Keeps configuration files (often in `/etc/`regional-check-agent.service`/`) and logs.
   * Use this if you want to reinstall later without losing settings.
2. **Purge Package (remove everything)**

   ```bash
   sudo dpkg --purge regional-check-agent 
   ```

   * Removes binaries **and** configuration files.
   * Leaves nothing behind from the `.deb` package.
   * Best choice for a clean uninstall.

***

### &#x20;Verify Removal

```bash
dpkg -l | grep regional-check-agent
```

* If nothing shows up → package is gone.
* If you see `rc` → it was removed but config files are still present.

***

### &#x20;Optional: Clean Residual Data

If the agent stored runtime data or logs outside the package (common locations):

```bash
sudo rm -rf /var/lib/regional-check-agent
sudo rm -rf /var/log/regional-check-agent
```

***

&#x20;After this, `distributed-regional-check-agent` will be fully removed.


# Setting Panel


# 1. General Settings

### **General Settings**

The **General Settings** section provides system administrators with the ability to configure core application settings, including system-level configurations and mail notification preferences. It is divided into two main tabs: **System Settings** and **Mail Settings**.

#### **1. System Settings**

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FI7ImMxgOquiA9NoOFL6B%2Fimage.png?alt=media&amp;token=6a7eca25-aa69-44ca-b17d-f706505edc1c" alt=""><figcaption></figcaption></figure>

The **System Settings** tab allows administrators to configure basic application parameters that are essential for system identification and access. Key settings include:

* **Application Name**
  * Defines the display name of the application in the email alerts
  * Example: `CheckCle App`
* **Application URL**
  * The URL used to access the application instance.
  * This is critical for email notifications and system links to function correctly.
  * Example: `http://127.0.0.1:8090`
* **Edit Functionality**
  * Administrators can update the application name and URL by clicking the **Edit** button.
  * Changes are immediately applied system-wide.

> **Note:** Ensure the Application URL is correct to avoid broken links in notifications and system-generated emails.

***

#### **2. Mail Settings**

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FWuUDJvQoDfWsp63ezIJK%2Fimage.png?alt=media&amp;token=bf7047f5-b971-43ce-b941-8ce1eb84a025" alt=""><figcaption></figcaption></figure>

The **Mail Settings** tab allows configuration of the system’s email notification system. This ensures that users receive timely notifications for critical events and system activities. Typical notifications include:

* **User Login Alerts**
  * Sends email notifications when a new device logs into a user account.
  * Helps monitor unauthorized access attempts.
* **Password Reset Emails**
  * Automatically sends password reset links to users requesting a reset.
* **Email Server Configuration**
  * Administrators can specify SMTP settings, sender email address, and security protocols (TLS/SSL).

> **Best Practice:** Verify that the mail server settings are correct and test the notification system to ensure emails are delivered reliably.

***

#### **Summary**

The **General Settings** section centralizes the key configurations for both the system and email notifications. By properly configuring these settings, administrators ensure a smooth and secure operation of the application, and users receive timely alerts for important events.


# 2. User Management

The **User Management** section in CheckCle allows administrators to manage user accounts, assign roles, and control access to the system. From this dashboard, you can view, add, update, or disable users.

***

### Features ➕ Add User

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FE9kWEYW06Etcv2Z5MIOD%2Fimage.png?alt=media&amp;token=1934eeda-41af-4b93-afc0-d546201f5042" alt=""><figcaption></figcaption></figure>

* Click **Add User** to create a new account.
* Provide the following information:
  * **User** – Full name of the user.
  * **Username** – Unique identifier for login.
  * **Email** – User’s email address, used for communication and password reset.
  * **Role** – Define user permissions. Example roles:
    * **Super Admin** – Full access to system settings and user management.
    * **Admin** – Can manage data and settings but cannot manage users.
  * **Status** – Active or Inactive account state.

## My Account

The **My Account** section allows you to manage and update your personal account settings in CheckCle. From here, you can view your profile details, change security settings, and update your information as needed.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FDjcaBwctrMpQWSPK2bhJ%2Fimage.png?alt=media&amp;token=3286265e-19d1-4a09-8ea0-754306cfa222" alt=""><figcaption></figcaption></figure>

***

### Profile Details

In this section, you can review and update your account information:

* **Full Name** – The display name associated with your account.
* **Username** – Your login name (cannot be duplicated with other users).
* **Email** – Your registered email address (used for login notifications, password recovery, and system alerts).

After making changes, click **Save Changes** to update your profile.

***

### Security

The **Security** tab allows you to manage account security settings such as:

* **Password Update** – Change your current password to a new one.
* **Two-Factor Authentication (2FA)** *(if enabled in the system)* – Add an extra layer of protection to your account


# 3. Notification Settings

## Notification Channels

The **Notification Channels** section allows you to configure external services (such as Telegram) to receive alerts and system notifications from CheckCle. Each channel can be customized, enabled, or disabled as needed.

***

### ➕ Add Notification Channel

When creating a new notification channel, you must provide the following details:

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FVxWs06cKkWg8sBiNJ5ky%2Fimage.png?alt=media&amp;token=d7d444a3-3433-4057-85ad-e02f045d3096" alt=""><figcaption></figcaption></figure>

#### **Channel Name**

* Example: `My Notification Channel`
* A friendly name to help identify this notification channel.

#### **Channel Type**

* Select the service through which notifications will be sent.
* Example: **Telegram** (with Telegram icon).
* Additional services:

&#x20;<img src="https://checkcle.io/uploads/notification/email.png" alt="Email notifications" data-size="line"> Email <img src="https://checkcle.io/uploads/notification/google.png" alt="SMS notifications" data-size="line"> Google Chat  <img src="https://checkcle.io/uploads/notification/slack.png" alt="Slack notifications" data-size="line"> Slack <img src="https://checkcle.io/uploads/notification/discord.png" alt="Discord notifications" data-size="line"> Discord <img src="https://checkcle.io/uploads/notification/telegram.png" alt="Telegram notifications" data-size="line"> Telegram <img src="https://checkcle.io/uploads/notification/signal.png" alt="Signal notifications" data-size="line"> Signal

&#x20;<img src="https://checkcle.io/uploads/notification/ntfy.png" alt="Signal notifications" data-size="line"> Ntfy <img src="https://checkcle.io/uploads/notification/pushover.png" alt="Pushover notifications" data-size="line"> Pushover <img src="https://checkcle.io/uploads/notification/notifiarr.png" alt="Notifiarr notifications" data-size="line"> Notifiarr <img src="https://checkcle.io/uploads/notification/gotify.png" alt="Gotify notifications" data-size="line"> Gotify <img src="https://checkcle.io/uploads/notification/webhook.png" alt="Webhook notifications" data-size="line"> Webhook

#### **Chat ID**

* The **Telegram Chat ID** where notifications will be delivered.
* Obtain this by messaging your bot and retrieving the chat ID.

#### **Bot Token**

* The **Telegram Bot Token** created via **@BotFather**.
* Required for authenticating your bot with the Telegram API.

#### **Enabled**

* Toggle to enable or disable this notification channel.
* Disabled channels will not receive any alerts.

***

### Example

**Notification Channel Setup:**

* **Channel Name**: `My Notification Channel`
* **Channel Type**: `Telegram`
* **Chat ID**: `123456789`
* **Bot Token**: `123456:ABC-xyz`
* **Enabled**: ✅

***

### Actions

* **Edit** – Update channel name, type, or credentials.
* **Disable/Enable** – Temporarily stop or resume sending notifications.
* **Delete** – Remove the notification channel permanently.


# 4. Alert Templates

## Alert Templates

The **Alert Templates** section allows you to create and manage reusable message templates for different types of alerts (e.g., uptime, monitoring, SSL, incidents). Templates ensure consistency across notifications and support placeholders for dynamic values.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FZcU9XmxWcyjCzwaHiOYY%2Fimage.png?alt=media&amp;token=eb1febaf-53a9-4c4a-a6ec-c8014d84654d" alt=""><figcaption></figcaption></figure>

***

### ➕ Add Template

When creating a new template, you must configure the following fields:

#### **Template Name**

* Example: `Service Uptime`
* A unique name to identify the template.

#### **Template Type**

* Defines the use case of the template.
* Available types:
  * **Service Uptime**
  * **Server Monitoring**
  * **SSL Certificate**
  * **Server Threshold**
  * **TCP Template**

#### **Custom Placeholder** *(Optional)*

* Define custom variables that can be reused in your messages.
* Example: `${response_time}`

***

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FKH0u0uqDNsoL3zZW37ni%2Fimage.png?alt=media&amp;token=5f54e988-0422-474f-a455-3715bfcc832d" alt=""><figcaption></figcaption></figure>

### Messages

Each template includes multiple message formats for different alert scenarios.\
Use placeholders to dynamically insert values such as service name, status, or response time.

#### **Available Placeholders**

* `${service_name}` – The name of the monitored service.
* `${response_time}` – Service response time in ms.
* `${status}` – The status returned by the service.

#### **Service Status Messages**

* **Service Up Message**
  * `Service ${service_name} is UP. Response time: ${response_time}ms`
* **Service Down Message**
  * `Service ${service_name} is DOWN. Status: ${status}`
* **Maintenance Message**
  * `Service ${service_name} is under maintenance`
* **Incident Message**
  * `Service ${service_name} has an incident`
* **Resolved Message**
  * `Issue with service ${service_name} has been resolved`
* **Warning Message**
  * `Warning: Service ${service_name} response time is high`


# 4. Data Retention Settings

The **Data Retention Settings** allow you to configure how long monitoring data is stored in the system before being automatically deleted. This helps manage database size and ensures that outdated monitoring information does not accumulate indefinitely.

### Configuration Options

1\. Uptime Monitoring Retention (days)

* **Description:** Determines the number of days that service uptime and incident data are retained in the system.
* **Effect:** Any uptime or incident records older than the specified number of days will be automatically deleted.
* **Example:**
  * If set to `13`, any uptime or incident data older than 13 days will be removed from the system.

#### 2. Server Monitoring Retention (days)

* **Description:** Determines the number of days that server metrics and process data are retained in the system.
* **Effect:** Any server monitoring data older than the specified number of days will be automatically deleted.
* **Example:**
  * If set to `20`, any server metrics or process data older than 20 days will be removed from the system.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FvTyGyXe30S9EYbi5LW2K%2Fimage.png?alt=media&amp;token=05cc758c-c242-4f2c-aca0-6d4ad5672696" alt=""><figcaption></figcaption></figure>

### <mark style="color:$primary;">How to Apply Changes</mark>

1. Update the desired retention days in the respective input fields:
   * **Uptime Monitoring Retention (days)**
   * **Server Monitoring Retention (days)**
2. Click the **Save Changes** button to apply the new settings.

> **Note:** The system will automatically perform the cleanup based on the configured retention periods once per day.


# 6. About System

## About System

The **About System** page provides key information about your CheckCle installation, including version details, licensing, release date, and useful resource links.

***

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FiVAQaq22v9mnm2qukziK%2Fimage.png?alt=media&amp;token=47c9b45f-0501-4d7e-b8c6-cd4b9a3dae85" alt=""><figcaption></figcaption></figure>

***

### Links

Quick access to official resources:

* **View on GitHub** – Access source code and contribute to the project.
* **View Documentation** – Read detailed guides and API references.
* **Follow on X** – Get the latest updates and announcements.
* **Join Discord** – Connect with the community for support and collaboration.

***

### Update Schema

The **Update Schema** feature allows administrators to safely update the database schema by importing new collection definitions.

#### Instructions:

* **Merge fields** – Safely add new fields to existing collections. Preserves all existing data.
* **System collections** (those starting with `_`) and the **users** collection are skipped automatically to prevent accidental overwrites.
* **Authentication required** – Only authenticated admins can perform schema imports.

To apply updates:

1. Click **Update Schema**.
2. Check the option **Merge fields with existing collections (safe - preserves data)** if applicable.
3. Confirm and apply the update.

***

The About System page ensures transparency by showing version, license, and release details while also giving administrators tools to safely update schemas without data loss.


# Uptime Monitoring

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FFX0vVUMCoQGKmblLcWrE%2Fcoming.png?alt=media&amp;token=6b380e21-e9b4-4c68-ba10-d27cedc966c1" alt=""><figcaption></figcaption></figure>


# 0. Uptime Monitoring Guide

CheckCle allows you to monitor the availability and response times of your websites and services. Follow this step-by-step guide to create and manage uptime monitoring.

### **1. Access the Uptime Monitoring Dashboard**

1. Log in to your **CheckCle App**.
2. From the **left sidebar**, click **Uptime Monitoring**.
   * This opens the **Overview Dashboard**, where you can see:
     * **Up Services** (green)
     * **Down Services** (red)
     * **Paused Services** (blue)
     * **Warning Services** (orange)
3. Below the overview cards, the **Currently Monitoring** section displays:
   * **Service Name**
   * **Service Type**
   * **Service Status** (Up/Down)
   * **Response Time**
   * **Uptime %**
   * **Last Checked Time**

<figure><img src="https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/uptime-1.4.png" alt=""><figcaption></figcaption></figure>

### **2. Pause or Resume Monitoring**

* On the service details page, click **Pause Monitoring** if you temporarily don’t want to track a service.
* Click **Up / Resume Monitoring** to start monitoring again.

### **3. Tips for Effective Monitoring**

* Use **shorter intervals** for critical services.
* Enable **notifications** to receive instant alerts.
* Combine **regional monitoring** for global service availability checks.
* Regularly check **Reports** for historical uptime analysis.


# 1. Create Monitoring Service

### **1. Add a New Service to Monitor**

1. Click the **New Service** button in the top-right corner.
2. Fill in the **service details** in the pop-up form:

   **Basic Information:**

   * **Service Name:** Enter a descriptive name (e.g., “My Website”).
   * **Service Type:** Select the type of service to monitor (e.g., HTTP, Ping, TCP).

   **Configuration:**

   * **Target URL/Host:** Enter the full URL including `http://` or `https://`.
   * **Check Interval:** How often the service will be checked (e.g., 1 minute).
   * **Retry Attempts:** How many retries before the service is marked down.

   **Optional Settings:**

   * **Regional Monitoring:** Enable to monitor from multiple regions.
   * **Enable Notifications:** Turn on to receive alerts.
3. Click **Save** to start monitoring your service.<br>

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2F9iJrVTa71TFss3XctfNR%2Fimage.png?alt=media&amp;token=47ed5adf-6e31-4db6-89bb-06def0229a64" alt=""><figcaption></figcaption></figure>


# 2. Monitoring Detail Dashboard

### **1. Monitor Service Status and Metrics**

Once a service is added, you can:

1. **View Service Status**
   * Check if the service is **Up** or **Down**.
   * Monitor response time in **milliseconds**.
   * Track **Uptime %** and the **last checked time**.
2. **View Detailed Metrics**
   * Click the service name to open its detailed monitoring page.
   * You will see:
     * **Response Time** (latest & average)
     * **Uptime Percentage**
     * **Monitoring Settings**
   * The **Response Time History Graph** shows fluctuations over time.

<figure><img src="https://cdn.checkcle.io/images/uptime/uptime-regional-detail.png" alt=""><figcaption></figcaption></figure>

### **2. Review Historical Data**

* Use the **Response Time History** graph to analyze trends.
* Switch the **time range** (e.g., last 24 hours, last 7 days) to view long-term performance.


# 3. Regional Monitoring

Regional Monitoring allows you to monitor your services from multiple geographic locations. This helps detect regional network issues, ISP restrictions, or latency problems.

### **1. Access the Regional Monitoring Dashboard**

1. In **CheckCle App**, go to the **left sidebar**.
2. Click **Regional Monitoring**.
   * Here you will see the list of all **regional monitoring agents**.
   * Each agent represents a **server or node** running the monitoring script in a specific region.

***

### **2. Create a Regional Monitoring Agent**

1. In the **Regional Monitoring dashboard**, click **+ New Regional Agent**.
2. Fill in the following details:
   * **Agent Name:** A descriptive name (e.g., “Singapore Agent” or “US-East Node”).
   * **Region:** Select the location where this agent will be deployed.
   * **Description (optional):** Add any notes for identification.
3. After creating the agent:
   * A **registration script** will be generated for you.
   * This script is used to connect your regional server to CheckCle.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FJBcknOA31a0l6hzow0Jr%2Fimage.png?alt=media&amp;token=af129c54-5c05-4151-bd92-c8a6dd448718" alt=""><figcaption></figcaption></figure>

***

### **3. Deploy the Regional Agent on the Target Server**

To start monitoring from a specific location, deploy the agent on a **Linux server** in that region:

#### **Step 1: SSH into Your Target Server**

```bash
bashCopyEditssh user@your-target-server
```

#### **Step 2: Download and Run the Installation Script**

* Copy the script generated by CheckCle (example below):

```bash
curl -fsSL https://cdn.checkcle.io/scripts/regional-agent.sh | sudo bash -s -- --region-name="test" --agent-id="agent_0ai869j8" --agent-ip="192.168.1.1" --token="yfjsh9nz7cfw09nspcoh5" --pocketbase-url="https://demo.checkcle.io"
```

**Notes:**

* The `--agent-key` is unique to the agent you created.
* This script will:
  1. Download the monitoring agent binary.
  2. Register the agent with your CheckCle instance.
  3. Start the agent as a background service.

#### **Step 3: Verify Agent Registration**

* After the script runs successfully, return to the **Regional Monitoring dashboard**.
* Your new agent should appear as **Online**.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FdXLokQ3WYrt1Bjnunlz2%2Fimage.png?alt=media&amp;token=8d94bd32-c142-4d13-86c9-1cdb01e36158" alt=""><figcaption></figcaption></figure>

***

### **4. Assign Regional Agents to Services**

Once the regional agent is online:

1. Go to **Uptime Monitoring** → **New Service** or edit an existing service.
2. Scroll to **Regional Monitoring**.
3. Enable the toggle and select which **regional agents** should monitor this service.
4. Save your changes.

Now your service will be checked from multiple locations.

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2F2TrHLKzJys244hNUOErx%2Fimage.png?alt=media&amp;token=e2cd4022-b9fe-44cb-add5-0983677674b8" alt=""><figcaption></figcaption></figure>

***

### **5. Benefits of Regional Monitoring**

* Detect **location-specific outages** (e.g., ISP block in one country).
* Measure **response time** and **latency** from different regions.
* Provide **more reliable uptime reporting** for global users.


# Instance Monitoring

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FFX0vVUMCoQGKmblLcWrE%2Fcoming.png?alt=media&amp;token=6b380e21-e9b4-4c68-ba10-d27cedc966c1" alt=""><figcaption></figcaption></figure>


# 1. Create Server Agent


# 2. Server Detail Dashboard


# 3. Docker Container Monitoring


# SSL  Expiry Management

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FFX0vVUMCoQGKmblLcWrE%2Fcoming.png?alt=media&amp;token=6b380e21-e9b4-4c68-ba10-d27cedc966c1" alt=""><figcaption></figcaption></figure>


# 1. Add SSL Domain


# 2. SSL Certs Detail


# Schedule & Incident

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FFX0vVUMCoQGKmblLcWrE%2Fcoming.png?alt=media&amp;token=6b380e21-e9b4-4c68-ba10-d27cedc966c1" alt=""><figcaption></figcaption></figure>


# Operational Pages

You can sync GitBook pages with an OpenAPI or Swagger file or a URL to include auto-generated API methods in your documentation.

### OpenAPI block

GitBook's OpenAPI block is powered by [Scalar](https://scalar.com/), so you can test your APIs directly from your docs.

{% openapi src="<https://petstore3.swagger.io/api/v3/openapi.json>" path="/pet" method="post" %}
<https://petstore3.swagger.io/api/v3/openapi.json>
{% endopenapi %}


# Operational Page

<figure><img src="https://1469101793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkGNii3LLQCh3Lj3WL2Xg%2Fuploads%2FFX0vVUMCoQGKmblLcWrE%2Fcoming.png?alt=media&amp;token=6b380e21-e9b4-4c68-ba10-d27cedc966c1" alt=""><figcaption></figcaption></figure>


# Integrations

###


# Support

If you need assistance or want to connect with the CheckCle community, here are the official support channels:

* **Documentation** → <https://docs.checkcle.io> – official guides and tutorials
* **GitHub Issues** → [https://github.com/checkcle/checkcle/issues](https://github.com/operacle/checkcle/issues) – report bugs or request features
* **Community Forum / Discussions** → [https://github.com/checkcle/checkcle/discussions](https://github.com/operacle/checkcle/discussions) – ask questions, share ideas
* **Discord (Community Chat)** → <https://discord.gg/xs9gbubGwX> – real-time help from contributors and users
* **Twitter / X** → [https://twitter.com/checkcle](https://x/checkcle_oss)\_oss – updates and quick news

💡 For **direct contact with the author** or to inquire about the **CheckCle Partner Program**, please email: <mark style="color:$success;">**<tolaleng@checkcle.io>**</mark>


