DocumentationUptime Kuma

Uptime Kuma

# Pull latest image
docker pull louislam/uptime-kuma:latest
 
# Run container
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:latest
 
# Verify running
docker ps | grep uptime-kuma

Docker Compose Installation

# Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
 
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001"
    volumes:
      - uptime-kuma:/app/data
 
volumes:
  uptime-kuma:
EOF
 
# Run compose
docker-compose up -d
 
# View logs
docker-compose logs -f uptime-kuma

Installation from Source

Ubuntu/Debian

# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs -y
 
# Clone repository
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
 
# Install dependencies
npm install --production
 
# Start Uptime Kuma
node server/server.js
 
# Or use PM2 for background running
sudo npm install -g pm2
pm2 start server/server.js --name uptime-kuma
pm2 startup
pm2 save

Web Interface

# Access Uptime Kuma
http://server-ip:3001
 
# First time setup
1. Set admin username and password
2. Add monitors
3. Configure notifications

Container Management

# View container logs
docker logs -f uptime-kuma
 
# Stop container
docker stop uptime-kuma
 
# Start container
docker start uptime-kuma
 
# Restart container
docker restart uptime-kuma
 
# Remove container
docker rm uptime-kuma
 
# View container details
docker inspect uptime-kuma

Backup & Restore

# Backup data
docker cp uptime-kuma:/app/data ./uptime-kuma-backup
 
# Restore data
docker cp ./uptime-kuma-backup/. uptime-kuma:/app/data
 
# Or backup volume
docker run --rm -v uptime-kuma:/data -v $(pwd):/backup \
  ubuntu tar czf /backup/uptime-kuma-backup.tar.gz /data
 
# Restore volume
docker run --rm -v uptime-kuma:/data -v $(pwd):/backup \
  ubuntu tar xzf /backup/uptime-kuma-backup.tar.gz -C /

Configuration

Basic Settings

# Access admin panel
http://server-ip:3001
 
# Settings available
- Timezone
- Theme (light/dark)
- Language
- Status page

Add Monitor

# Via web interface
1. Navigate to Monitors
2. Click "Add New Monitor"
3. Select monitor type (HTTP, TCP, Ping, etc.)
4. Configure:
   - Name
   - URL/Hostname
   - Check interval
   - Timeout
   - Retries
5. Save

Notifications

# Configure notification channels
1. Navigate to Settings > Notifications
2. Add new notification:
   - Email
   - Slack
   - Discord
   - Telegram
   - etc.
3. Configure message template
4. Test notification

Uninstall

Docker

# Stop and remove container
docker stop uptime-kuma
docker rm uptime-kuma
 
# Remove volume (optional, keeps data)
docker volume rm uptime-kuma
 
# Remove volume (delete all data)
docker volume rm uptime-kuma

Docker Compose

# Stop and remove
docker-compose down
 
# Remove volumes
docker-compose down -v

Source Installation

# Stop PM2 process
pm2 stop uptime-kuma
pm2 delete uptime-kuma
 
# Remove directory
rm -rf ~/uptime-kuma

Troubleshooting

# Check if container is running
docker ps | grep uptime-kuma
 
# View container logs
docker logs -f uptime-kuma
 
# Check port availability
sudo netstat -tlnp | grep 3001
 
# Restart container
docker restart uptime-kuma
 
# Check container health
docker inspect uptime-kuma | grep Health