Simoob Documentation
Simoob is a lightweight, real-time server and container monitoring solution. This documentation will guide you through installation, configuration, and usage of the Simoob monitoring platform.
1. System Requirements #
Before installing Simoob, ensure your system meets the following requirements:
| Component | Requirement | Notes |
|---|---|---|
| Docker | Version 20.10+ | Required for running the agent |
| Git | Latest stable | For cloning the UI repository |
| Operating System | Linux (Ubuntu, Debian, CentOS) | macOS and Windows via Docker Desktop |
| Network | Port 3001 open | For API communication |
| RAM | Minimum 512MB | For the agent container |
2. Quick Start #
Get Simoob up and running in under 5 minutes with these steps:
Step 1: Pull the Docker Image
Download the latest Simoob agent image from Docker Hub:
docker pull gayanpd/simoob
Step 2: Run the Container
Start the Simoob agent with the following command:
docker run -d \
--name simoob-agent \
--restart unless-stopped \
-p 3001:3001 \
-v /var/run/docker.sock:/var/run/docker.sock \
gayanpd/simoob
Step 3: Clone the UI
Clone the Simoob user interface repository:
git clone https://github.com/Gayan-98/simoob-ui.git
cd simoob-ui
Step 4: Open the Dashboard
Open index.html in your web browser and enter your server details:
- Server IP: Your server's IP address (e.g.,
139.59.248.175) - Port:
3001
3. Installing the Agent #
The Simoob agent runs as a Docker container and provides a REST API for monitoring system metrics, Docker containers, and services.
3.1. Pulling the Image
Pull the official Simoob agent image:
docker pull gayanpd/simoob
Verify the image was downloaded successfully:
docker images | grep simoob
3.2. Running the Container
Start the agent with the recommended configuration:
docker run -d \
--name simoob-agent \
--restart unless-stopped \
-p 3001:3001 \
-v /var/run/docker.sock:/var/run/docker.sock \
gayanpd/simoob
Command Options Explained:
| Option | Description |
|---|---|
-d |
Run container in detached mode (background) |
--name simoob-agent |
Assign a friendly name to the container |
--restart unless-stopped |
Automatically restart container on system reboot |
-p 3001:3001 |
Map port 3001 from container to host |
-v /var/run/docker.sock |
Mount Docker socket for container monitoring |
/var/run/docker.sock) grants the container
root-level access to the Docker daemon. Only run this on trusted servers and networks.
3.3. Verifying the Installation
Check that the container is running:
docker ps | grep simoob-agent
Test the API endpoint:
curl http://localhost:3001/api/system/stats
You should receive a JSON response with system statistics.
4. Setting Up the User Interface #
The Simoob UI is a static web application that connects to the agent API to display real-time monitoring data.
4.1. Clone the Repository
Clone the UI repository to your local machine:
git clone https://github.com/Gayan-98/simoob-ui.git
4.2. Opening the Dashboard
Navigate to the cloned directory:
cd simoob-ui
You have two options to run the dashboard:
Option A: Open Directly
Open index.html in your web browser:
# macOS
open index.html
# Windows
start index.html
# Linux
xdg-open index.html
Option B: Use HTTP Server (Recommended)
Serve the UI through a local HTTP server to avoid CORS issues:
python3 -m http.server 8080
Then navigate to http://localhost:8080 in your browser.
npx http-server or php -S localhost:8080
depending on what's installed on your system.
4.3. Connecting to Your Server
Once the dashboard loads:
- Enter your server's IP address in the Server IP field
- Enter
3001in the Port field - Click the Connect button
Connection Examples:
| Scenario | Server IP | Port |
|---|---|---|
| Local development | localhost or 127.0.0.1 |
3001 |
| Remote server | 139.59.248.175 |
3001 |
| Cloud instance | Your instance IP | 3001 |
5. Configuration #
5.1. Environment Variables
You can customize the agent behavior using environment variables:
docker run -d \
--name simoob-agent \
-p 3001:3001 \
-e API_PORT=3001 \
-e LOG_LEVEL=info \
-v /var/run/docker.sock:/var/run/docker.sock \
gayanpd/simoob
5.2. Security Considerations
When deploying Simoob in production:
- Use a reverse proxy (nginx, Apache) with SSL/TLS
- Implement firewall rules to restrict port 3001 access
- Consider using Docker networks for internal communication
- Regularly update the Simoob agent to the latest version
5.3. Firewall Setup
Allow incoming connections on port 3001:
UFW (Ubuntu/Debian):
sudo ufw allow 3001/tcp
Firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=3001/tcp
sudo firewall-cmd --reload
6. Troubleshooting #
Common Issues and Solutions
Issue: Connection Failed
Symptoms: Dashboard shows "Connection failed" error
Solutions:
- Verify the container is running:
docker ps | grep simoob-agent - Test API accessibility:
curl http://SERVER_IP:3001/api/system/stats - Check firewall rules allow port 3001
- Ensure the correct IP address is entered in the dashboard
Issue: CORS Error
Symptoms: Browser console shows CORS-related errors
Solution: Use an HTTP server instead of opening the HTML file directly:
python3 -m http.server 8080
Issue: Container Not Starting
Symptoms: Container exits immediately after starting
Solutions:
- Check container logs:
docker logs simoob-agent - Ensure port 3001 is not already in use
- Verify Docker socket is accessible
6.1. Viewing Logs
View real-time logs from the agent:
docker logs -f simoob-agent
View the last 100 lines of logs:
docker logs --tail 100 simoob-agent
6.2. Updating Simoob
To update to the latest version:
- Stop and remove the existing container:
docker stop simoob-agent
docker rm simoob-agent
- Pull the latest image:
docker pull gayanpd/simoob:latest
- Start a new container with the updated image:
docker run -d \
--name simoob-agent \
--restart unless-stopped \
-p 3001:3001 \
-v /var/run/docker.sock:/var/run/docker.sock \
gayanpd/simoob
docker-compose.yml
file to define your Simoob deployment configuration.