Monitor Linux servers with beautiful dashboard! Real-time metrics, smart alerts. Deploy in 2 mins.
239
Deploy using pre-built Docker Hub images - no building required, just pull and run!
Monitor all your Linux servers from one beautiful dashboard. A complete, easy-to-use monitoring solution that watches your servers 24/7 and alerts you when something goes wrong.
# Create docker-compose.yml file
cat > docker-compose.yml << 'EOF'
services:
postgres:
image: postgres:15-alpine
container_name: monitoring_postgres
environment:
POSTGRES_DB: ${POSTGRES_DB:-monitoring}
POSTGRES_USER: ${POSTGRES_USER:-monitoring_user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-monitoring_pass}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT:-5432}:5432"
networks:
- monitoring_network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-monitoring_user} -d ${POSTGRES_DB:-monitoring}"]
interval: 10s
timeout: 5s
retries: 5
server:
image: alokdekadev/linux-server-monitoring:server
container_name: monitoring_server
environment:
DATABASE_URL: postgresql://${POSTGRES_USER:-monitoring_user}:${POSTGRES_PASSWORD:-monitoring_pass}@postgres:5432/${POSTGRES_DB:-monitoring}
HOST: ${SERVER_HOST:-0.0.0.0}
PORT: ${SERVER_PORT:-8000}
LOG_LEVEL: ${LOG_LEVEL:-info}
ports:
- "${SERVER_PORT:-8000}:8000"
depends_on:
postgres:
condition: service_healthy
networks:
- monitoring_network
restart: unless-stopped
dashboard:
image: alokdekadev/linux-server-monitoring:dashboard
container_name: monitoring_dashboard
environment:
VITE_API_BASE_URL: ${DASHBOARD_API_URL:-http://localhost:8000}
VITE_WS_BASE_URL: ${DASHBOARD_WS_URL:-ws://localhost:8000}
ports:
- "${DASHBOARD_PORT:-3000}:3000"
depends_on:
- server
networks:
- monitoring_network
restart: unless-stopped
volumes:
postgres_data:
driver: local
networks:
monitoring_network:
driver: bridge
EOF
# Create environment file
cat > .env << 'EOF'
POSTGRES_PASSWORD=your_secure_password_here
DASHBOARD_API_URL=http://localhost:8000
DASHBOARD_WS_URL=ws://localhost:8000
EOF
# Start all services
docker compose up -d
# Create admin user
docker compose exec server python server/cli/create_admin.py
Access Points:
This repository contains two components with different tags:
| Component | Tag | Description | Size | Platforms |
|---|---|---|---|---|
| Server | server | FastAPI backend with monitoring engine | ~200MB | AMD64, ARM64 |
| Dashboard | dashboard | React web interface | ~300MB | AMD64, ARM64 |
# Pull individual components
docker pull alokdekadev/linux-server-monitoring:server
docker pull alokdekadev/linux-server-monitoring:dashboard
# Database Configuration
POSTGRES_PASSWORD=secure_password
# Server Configuration
SERVER_PORT=8000
LOG_LEVEL=info
# Dashboard Configuration
DASHBOARD_PORT=3000
DASHBOARD_API_URL=http://localhost:8000
DASHBOARD_WS_URL=ws://localhost:8000
# Alert Configuration
ALERT_CPU_THRESHOLD=90.0
ALERT_DISK_THRESHOLD=80.0
ALERT_OFFLINE_TIMEOUT=300
# Webhook Configuration (optional)
WEBHOOK_URLS=https://hooks.slack.com/your-webhook
# Use different ports
DASHBOARD_PORT=8080
SERVER_PORT=9000
# SSH into your server
ssh user@your-server-ip
# Create deployment directory
mkdir -p ~/monitoring-system && cd ~/monitoring-system
# Create docker-compose.yml (use the configuration from Quick Start above)
# Create environment for remote access
cat > .env << EOF
POSTGRES_PASSWORD=your_secure_password
DASHBOARD_API_URL=http://your-server-ip:8000
DASHBOARD_WS_URL=ws://your-server-ip:8000
EOF
# Deploy
docker compose up -d
docker compose exec server python server/cli/create_admin.py
curl -sSL http://your-server:8000/install-agent.sh | bash -s -- \
--api-key="your-api-key" --server-url="http://your-server:8000"
server {
listen 443 ssl;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
}
location /api/ {
proxy_pass http://localhost:8000;
}
location /ws {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# Update to latest images
docker compose pull && docker compose up -d
# View logs
docker compose logs -f server
docker compose logs -f dashboard
# Backup database
docker compose exec postgres pg_dump -U monitoring_user monitoring > backup.sql
# Health check
curl -f http://localhost:8000/api/v1/health
ā
No Build Time - Pre-built and optimized images
ā
Faster Deployment - Just pull and run
ā
Multi-Architecture - Works on AMD64 and ARM64
ā
Production Ready - Tested and secure
ā
Easy Scaling - Standard Docker patterns
server, latest-server - Latest server componentdashboard, latest-dashboard - Latest dashboard componentv1.0.0-server, v1.0.0-dashboard - Version releasesReady to monitor your servers? š
# One-liner deployment (copy the docker-compose.yml from above first)
echo "POSTGRES_PASSWORD=secure_password" > .env && docker compose up -d
Made with ā¤ļø by Alok Dekaā
Content type
Image
Digest
sha256:fe9f45a14ā¦
Size
119.3 MB
Last updated
9 months ago
docker pull alokdekadev/linux-server-monitoring:latest-dashboard