Skip to content

winksplorer/summit

Repository files navigation

summit

GitHub Actions Workflow Status GitHub code size in bytes x64 glibc compiled size

summit is a portable and self-contained Linux server management web dashboard that fits in 3MB.

Important

A lot of features (storage, networking, containers, updates, etc.) are missing currently.

Features

  • All of summit is distributed as one small file
  • Portability across init systems and libcs (Tested with Debian and Alpine so far)
  • Fast page loads
  • PAM-based login system
  • xterm.js-based terminal
  • HTTP/2 & HTTPS

Screenshots

Building

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.

Alpine

Note

Make sure you have the community repo enabled

apk add go make linux-pam-dev git openssl minify xz upx \
    && git clone https://github.com/winksplorer/summit \
    && cd summit \
    && make all install

Debian

apt install golang-go make libpam0g-dev git openssl minify upx-ucl \
    && git clone https://github.com/winksplorer/summit \
    && cd summit \
    && make all install

Code structure

*.go

The backend server code. It serves the frontend, and provides a simple API using WebSockets + MessagePack. Written in Go.

frontend

The frontend web UI code. Written in HTML, vanilla CSS, and vanilla JS.

TODO

  • HTTP/2
  • TLS
  • Login
    • PAM
    • Login page
    • Cookies
    • Admin system
  • Stats
    • Basic numerical stats
    • Implement Odometer
    • Make stat values persist across pages
  • WebSocket terminal
    • Switch to xterm.js
    • Firefox compatibility
    • Fix doas
  • UI Notifications
  • Implement templates
  • WebSocket + MessagePack API
  • 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
  • Global config
  • 404 page
  • Go embedding
  • Logging
    • Backend
      • Application-specific logs?
      • Init system logs
      • Kernel logs
    • Logging page
  • Storage page
  • Networking page
  • Containers
    • Backend
      • Podman support
      • Docker support
    • Container page
  • Services
    • Backend
      • OpenRC support
      • systemd support
      • other init systems
    • Services page
  • Updates
    • Backend
      • apt support
      • apk support
      • other package managers
    • Updates page
  • Service files
  • Installer shell script

About

A portable and self-contained Linux server management web UI

Resources

License

Stars

Watchers

Forks

Releases

No releases published