summit is a portable and self-contained server management web dashboard for Linux and BSD that fits in 3MB.
Important
A lot of features (storage, networking, containers, updates, etc.) are missing currently.
- All of summit is distributed as one file
- As of July 29th, 2025, the entire final executable is ~3.0 MB
- Portability (Tested with Debian, Alpine, and FreeBSD so far)
- Fast page loads
- PAM-based login system
- xterm.js-based terminal
- HTTP/2 & HTTPS
All of these commands assume you're running as root. summit will likely build & run on other systems, but I have not tested.
The final compiled output is simply ./summit
. By default, summit installs to /usr/local/bin
.
Note
Make sure you have the community repo enabled
apk add go make clang binutils libarchive-dev linux-pam-dev git openssl minify xz \
&& git clone https://github.com/winksplorer/summit \
&& cd summit \
&& make all install
apt install golang-go make clang binutils libarchive-dev libpam0g-dev git openssl minify \
&& git clone https://github.com/winksplorer/summit \
&& cd summit \
&& make all install
pkg install go gmake binutils libarchive git openssl minify gsed \
&& git clone https://github.com/winksplorer/summit \
&& cd summit \
&& gmake all install LD=ld.gold SED=gsed \
&& mkdir -p /etc/ssl/private
The backend server code. It serves the frontend, and provides a simple API using WebSockets + MessagePack. Written in Go.
The frontend web UI code. Written in HTML, vanilla CSS, and vanilla JS.
The self-extracting archive code so that the entire server is distributed as one file. Written in C.
- SEA
- HTTP/2
- TLS
- Login
- PAM
- Login page
- Cookies
- Admin system
- Slight refactoring (use my other login impl instead)
- Stats
- Basic numerical stats
- Implement Odometer
- Make stat values persist across pages
- WebSocket terminal
- Switch to xterm.js
- Firefox compatibility
- Fix the fucking thing
- Fix doas
- UI Notifications
- Implement templates
- Use a WebSocket connection instead of HTTP endpoints
- Proof of concept (Stats test)
- Fully switch to WebSockets
- Simplify entire frontend
- Simplify HTML using templates
- Simplify JS
- Use
window._
- Bundling
- Minification
- Use
- Simplify CSS
- Settings
- Settings page
- Backend settings system
- Frontend settings system
- Default config
- Complete frontend redesign
- Independent pages
- Login prototype
- Responsiveness
- Admin page
- Cleanup
- Main UI
- Colors
- Sidebar
- Main page content
- Messages
- Input elements
- Light mode
- User choosable accent color
- Sync with system dark/light theme
- Independent pages
- Global config
- 404 page
- Logging
- Backend
- Application-specific logs?
- Init system logs
- Kernel logs
- Logging page
- Backend
- Storage page
- Networking page
- Containers
- Backend
- Podman support
- Docker support
- Container page
- Backend
- Services
- Backend
- OpenRC support
- systemd support
- other init systems
- Services page
- Backend
- Updates
- Backend
- apt support
- apk support
- pkg support
- other package managers
- Updates page
- Backend
- Service files
- Installer shell script