Self-contained "God Mode" server management dashboard. Set up a fresh Linux machine with a single binary. Web-based GUI for system tools, dotfiles, services, and monitoring.
DOWNLOAD FOR LINUXRequires sudo/root privileges
One-click package installation with categorized tools. Supports presets (Development/Production) and checks for existing packages. Installs user tools (pnpm, deno, gemini) to your home directory.
Full CRUD for site configurations. Auto-generate self-signed SSL certs or upload custom ones. Integrated Monaco Editor for config editing with real-time reload.
Interactive SQL console with database tree view. Backup databases, analyze slow queries, edit my.cnf with presets. Full service control included.
Browse, edit, upload, download files. Change permissions (chmod/chown). Safety-validated paths for home directories and /var/log.
Manage PHP-FPM services, edit php.ini. Full UFW integration for firewall rules with numbered rule management.
Complete systemd integration. List, start, stop, restart, enable, disable any service. Real-time status monitoring.
Visual crontab management with quick presets (Hourly, Daily, Weekly). Full schedule control with enable/disable toggle.
Run custom scripts with parameters. Discovers scripts from ~/.serverdash/scripts/, /opt/serverdash/scripts/, and ./scripts
Check for APT package updates with security highlighting. One-click upgrade with detailed version information.
System auth via /etc/shadow, OTP mode for zero-config access, or config password override. Session-based with 24-hour expiry.
# Download the latest release
wget https://data.serverdash.org/serverdash-1b4f707-linux-amd64.tar.gz
# Extract the archive
tar -xzf serverdash-1b4f707-linux-amd64.tar.gz
# Enter the directory
cd serverdash-1b4f707-linux-amd64
# Run the installer (sets up systemd service)
sudo ./install.sh
# Start the service
sudo systemctl start serverdash
# Check status
sudo systemctl status serverdash
# Default port is 6432
# Access via: http://your-server-ip:6432
# Generate OTP for login
sudo serverdash --otp
# Or use custom port
sudo serverdash --port 8080 --otp
# Edit config.json
nano /opt/serverdash/config.json
# Available options:
{
"repo_url": "git@github.com:user/dotfiles.git",
"web_password": "optional-override",
"port": "6432",
"run_as_user": "$SESSION"
}
When run_as_user is set to $SESSION, each logged-in user runs commands as themselves. Bob installs pnpm to Bob's home, Alice installs to Alice's home. This enables multi-user server environments.
ServerDash manages system-level services (nginx, mysql, php-fpm, firewall), edits system configs, and installs packages. These operations require root privileges. User-level tools are installed via sudo to the appropriate user's home directory.
For production use, put it behind a reverse proxy (nginx) with HTTPS and basic auth. Use firewall rules to restrict access. The built-in auth uses secure cookies but wasn't designed for direct internet exposure.
Debian-based systems (Ubuntu, Debian, Mint) are fully supported. The package management uses APT. systemd is required for service management. Other distros may work with modifications.
Yes! Edit config.json and modify the packages array. Each package has name, description, group, tags, and default flag. Add your own tools or remove unwanted ones.
Set your dotfiles repo URL in config.json. ServerDash will clone it to the user's home directory and run stow to symlink files. Supports both fresh installs and updates (git pull).