---
tags:
  - Docker
  - Monitoring
---
# **Uptime Kuma Service Documentation**

## **Overview**

**Uptime Kuma** is a modern, open-source monitoring tool that provides real-time uptime tracking for servers, websites, and services. Its user-friendly interface, detailed reporting, and customizable notifications make it an excellent alternative to hosted solutions like Uptime Robot. Hosting Uptime Kuma in your home lab offers full control and privacy, tailored to your monitoring needs.

---

## **Docker Compose Setup**

Deploying Uptime Kuma with Docker ensures a quick, efficient, and isolated setup. Below is the `docker-compose.yml` file configuration:

```yaml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001" # Adjust the host port if necessary
    volumes:
      - /home/josh/uptime-kuma/data:/app/data # Persistent data storage
    environment:
      TZ: "America/Las_Vegas" # Set your local timezone
```

---

### **Configuration Details**

1. **Image**:
    
    - The `louislam/uptime-kuma:latest` image ensures deployment of the latest version of Uptime Kuma, complete with updates and security patches.
2. **Container Name**:
    
    - Naming the container `uptime-kuma` simplifies management and debugging.
3. **Restart Policy**:
    
    - The `restart: always` directive automatically restarts the service after failures or system reboots, ensuring reliability.
4. **Ports**:
    
    - Maps port `3001` on the host machine to the same port in the container, making the service accessible at `http://<your-server-ip>:3001`.
5. **Volumes**:
    
    - Data is persistently stored in `/home/josh/uptime-kuma/data` on the host, ensuring monitoring history and configurations are preserved.
6. **Environment Variables**:
    
    - Configures the service to use the `"America/Las_Vegas"` timezone, aligning notifications and logs with local time.

---

## **Deployment Steps**

1. **Prepare the Host Environment**:
    
    - Create the directory for persistent storage:
        
        ```bash
        mkdir -p /home/josh/uptime-kuma/data
        ```
        
2. **Deploy Uptime Kuma**:
    
    - Run the following command to start the service:
        
        ```bash
        docker-compose up -d
        ```
        
3. **Access the Uptime Kuma Dashboard**:
    
    - Open a web browser and navigate to:
        
        ```none
        http://<your-server-ip>:3001
        ```
        
4. **Configure Monitors**:
    
    - Log in to the dashboard and add monitors for servers, websites, or other services you wish to track.

---

## **Benefits of This Setup**

1. **Ease of Deployment**:
    
    - Docker Compose simplifies the process, making setup quick and maintenance straightforward.
2. **Persistent Data**:
    
    - All configurations, logs, and monitoring data are preserved across updates or container restarts.
3. **Scalability**:
    
    - Easily add more monitors or expand the system as your needs grow.
4. **Custom Notifications**:
    
    - Configure notifications via email, Telegram, Slack, or other integrations to stay informed.

---

## **Troubleshooting**

- **Service Not Accessible**:
    
    - Ensure the container is running:
        
        ```bash
        docker ps
        ```
        
    - Check logs for errors:
        
        ```bash
        docker logs uptime-kuma
        ```
        
- **Port Conflicts**:
    
    - If port `3001` is already in use, modify the `ports` configuration:
        
        ```yaml
        ports:
          - "custom-port:3001"
        ```
        
    - Restart the service:
        
        ```bash
        docker-compose up -d
        ```
        

---

## **Additional Resources**

- [Uptime Kuma GitHub Repository](https://github.com/louislam/uptime-kuma)
- [Docker Documentation](https://docs.docker.com/)
- [Uptime Kuma Wiki](https://github.com/louislam/uptime-kuma/wiki)

---

## **Conclusion**

This Docker Compose setup provides a robust and reliable foundation for monitoring your home lab's uptime and status. With its real-time insights, customizable alerts, and modern design, Uptime Kuma ensures your systems remain operational and your services run smoothly. 🚀