Introduction
Spug is a self-hosted, agentless DevOps platform built with Django and React. It targets teams that need host management, application deployment, job scheduling, and basic monitoring without the complexity of enterprise-grade tools like Ansible Tower or Jenkins. Everything runs through a clean web UI with no agents required on managed hosts.
What Spug Does
- Manages hosts and groups with SSH-based remote execution requiring no agent installation
- Deploys applications via configurable pipelines with rollback support
- Schedules cron-like tasks across multiple hosts with centralized logging
- Monitors host metrics and application health with configurable alert rules
- Provides a web terminal for interactive SSH sessions from the browser
Architecture Overview
Spug runs as a Python Django backend with a React frontend, both packaged into a single Docker image. The backend connects to managed hosts over SSH to execute commands, transfer files, and collect output. Task scheduling uses a built-in scheduler backed by a Redis queue. Configuration and state are stored in a MySQL or SQLite database. The web terminal proxies SSH sessions through WebSocket connections.
Self-Hosting & Configuration
- Run the official Docker image with a single command; bind port 80 and optionally mount volumes for persistent data
- Configure the database connection in the settings file; defaults to SQLite for quick setup
- Add hosts by providing SSH credentials or key-based authentication in the web UI
- Set up deployment pipelines by defining build steps, transfer methods, and post-deploy hooks
- Configure alert channels including email, DingTalk, and webhook notifications
Key Features
- Agentless architecture using standard SSH for all remote operations
- Built-in web terminal for direct browser-based SSH access to any managed host
- Role-based access control with audit logging for all operations
- Application deployment with version history and one-click rollback
- File distribution across host groups with progress tracking
Comparison with Similar Tools
- Ansible + AWX — more powerful automation with a large module ecosystem, but significantly heavier to deploy and operate
- Rundeck — mature runbook automation with plugin architecture; Spug is lighter and simpler for smaller teams
- Semaphore — modern Ansible UI that focuses on playbook execution; Spug bundles more features like monitoring and scheduling natively
- StackStorm — event-driven automation suited for complex workflows; Spug focuses on operational simplicity
FAQ
Q: Does Spug require agents on managed hosts? A: No. All operations use SSH connections initiated from the Spug server. Managed hosts only need an accessible SSH service.
Q: What languages are supported in the interface? A: The UI is available in Chinese and English.
Q: Can Spug manage cloud instances? A: Yes. Any host reachable via SSH can be managed, whether on-premises, cloud VMs, or containers with SSH access.
Q: How does Spug handle secrets? A: SSH keys and passwords are encrypted at rest in the database. Environment variables for deployments can be stored as encrypted configuration entries.