> For the complete documentation index, see [llms.txt](https://docs.checkcle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.checkcle.io/getting-started/quickstart.md).

# 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="/files/A8sRpFfXRGkWGXmobouX" 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.
