# Quickstart

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&#x26;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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.checkcle.io/getting-started/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
