Skip to content

FAQ

EasyShell is a lightweight server management and intelligent operations platform. It provides a centralized web interface for managing multiple Linux servers, executing scripts across hosts, and leveraging AI for automated operations.

Yes. EasyShell is open-source software released under the MIT License. You can use it freely for personal and commercial purposes.

What operating systems does the agent support?

Section titled “What operating systems does the agent support?”

The EasyShell agent is a single Go binary that runs on:

  • Linux — amd64, arm64 (primary target)
  • macOS — amd64, arm64 (for development/testing)

Windows is not currently supported for the agent.

ComponentMinimumRecommended
Server2 CPU, 4GB RAM, 20GB disk4 CPU, 8GB RAM, 50GB disk
Agent1 CPU, 128MB RAM, 50MB disk1 CPU, 256MB RAM, 100MB disk
MySQL8.0+8.0+
Redis7.0+7.0+

The fastest way is Docker Compose:

Terminal window
git clone https://github.com/easyshell-ai/easyshell.git
cd easyshell
docker compose up -d
cd easyshell-server && ./gradlew bootRun
cd easyshell-web && npm install && npm run dev

See the Docker installation guide for detailed instructions.

The server fails to start with a database connection error

Section titled “The server fails to start with a database connection error”

Verify MySQL is running and accessible:

Terminal window
docker compose ps
docker compose logs mysql

Common causes:

  • MySQL hasn’t finished initializing (wait 30 seconds after docker compose up)
  • Port 3306 is occupied by another MySQL instance
  • docker-compose.yml credentials don’t match application.yml
  1. Check the browser console for errors (F12 → Console)
  2. Verify the server is running on port 18080
  3. Check that CORS is configured to allow http://localhost:5173
  4. Clear browser cache and reload

How do I deploy the agent to a remote host?

Section titled “How do I deploy the agent to a remote host?”
Terminal window
# Copy the agent binary
scp easyshell-agent-linux-amd64 user@remote:/usr/local/bin/easyshell-agent
# SSH into the host and start the agent
ssh user@remote
chmod +x /usr/local/bin/easyshell-agent
easyshell-agent --server http://YOUR_SERVER_IP:18080

See the Agent deployment guide for systemd service setup.

  • Verify the server is reachable from the agent host: curl http://SERVER_IP:18080/api/health
  • Check firewall rules — port 18080 must be open
  • Ensure the server URL in the agent config is correct (use IP, not localhost)

By default:

  • Heartbeat: every 30 seconds
  • Metrics: every 60 seconds

These intervals are configurable in the server settings. See Server Configuration.

Can I execute scripts on multiple hosts simultaneously?

Section titled “Can I execute scripts on multiple hosts simultaneously?”

Yes. Select multiple hosts or an entire cluster, then execute a script. EasyShell supports three execution strategies:

  • Parallel — All hosts at once
  • Sequential — One at a time, stops on failure
  • Rolling — Batch execution with configurable batch size

The agent kills the script process after the configured timeout (default: 5 minutes). The execution is marked as TIMEOUT in the history. You can adjust the timeout per-script or globally in the server configuration.

Yes. Define parameters in your script using environment variables, then pass values when executing:

#!/bin/bash
echo "Checking disk usage threshold: ${THRESHOLD:-80}%"
df -h | awk -v threshold="$THRESHOLD" '{if(NR>1 && $5+0 > threshold) print $0}'

AI features are optional. EasyShell works fully without AI. If you want to use the AI assistant, scheduled inspections, or SOP automation, you need an API key from any OpenAI-compatible provider.

See AI Configuration for supported providers.

Yes. EasyShell supports any OpenAI-compatible API. You can use:

  • Ollama — Local LLM with base-url: http://localhost:11434/v1
  • vLLM — High-performance inference server
  • LocalAI — Drop-in OpenAI replacement

Only when you actively use AI features (chat, inspections). The data sent includes:

  • Your chat messages
  • Host system information (for inspections)
  • Script content (when asking AI to analyze scripts)

No data is sent if AI features are disabled.

Is it safe to expose EasyShell to the internet?

Section titled “Is it safe to expose EasyShell to the internet?”

We recommend placing EasyShell behind a reverse proxy (Nginx/Caddy) with:

  • HTTPS enabled
  • Strong authentication
  • Rate limiting
  • IP allowlisting if possible

See the Security configuration guide for a complete checklist.

Agent tokens are stored in the server database (MySQL). On the agent side, the token is stored in a local configuration file. We recommend:

  • Setting file permissions to 600 on the agent config
  • Using TLS for all agent-server communication