explaingit

seriousm4x/upsnap

5,639GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

UpSnap is a self-hosted web dashboard for waking up, monitoring, and shutting down computers and devices on your local network using Wake on LAN, all from a single web page with user permission controls.

Mindmap

mindmap
  root((repo))
    What it does
      Wake on LAN
      Device dashboard
      Shutdown command
    Features
      Scheduled wake
      Port monitoring
      Network scanning
    Setup
      Docker install
      Binary install
      ARM support
    Access control
      User accounts
      Per-device roles
      Admin controls
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Wake up a sleeping desktop computer remotely from a web browser without needing command-line tools

USE CASE 2

Schedule automated wake and sleep cycles for home lab servers on a recurring time schedule

USE CASE 3

Monitor whether devices are online by pinging specific network ports from the dashboard

USE CASE 4

Control who can wake, edit, or shut down each device with per-user permission settings

Tech stack

GoDocker

Getting it running

Difficulty · easy Time to first run · 30min

Must be on the same local network as target devices. Exposing UpSnap to the public internet without a VPN is strongly discouraged due to the shell-command shutdown feature.

License not specified in the explanation.

In plain English

UpSnap is a self-hosted web application for waking up computers and other devices on your local network from a single dashboard. It uses a network feature called Wake on LAN, which lets you send a special signal to a sleeping machine to turn it on remotely. Instead of needing command-line tools or memorizing device addresses, UpSnap gives you a web page where all your registered devices appear as buttons. Beyond the basic wake-up function, you can schedule automated events using cron expressions (a standard way to describe repeating time schedules), ping specific network ports to check if a device is responding, scan your network to discover devices automatically using a tool called nmap, and send shutdown commands to devices that support it. Each user account can have different permissions per device, so an admin can control who is allowed to wake, edit, or shut down any given machine. The application comes in Docker images for common hardware types including standard x86 servers, Raspberry Pi, and other ARM-based devices. It can also be installed as a standalone binary or through the AUR package manager on Arch Linux. The web interface supports 21 languages and includes 35 visual themes. One important caution the README flags clearly: the shutdown feature works by running a shell command, which carries real security risk if the app is exposed to the public internet. The project recommends keeping UpSnap behind a VPN rather than making it publicly accessible. UpSnap is free and open source. If you encounter it being sold anywhere, that is a scam.

Copy-paste prompts

Prompt 1
How do I set up UpSnap with Docker to wake up computers on my home network? Show me the docker-compose.yml and explain what network settings I need.
Prompt 2
I want to schedule my home server to wake up every weekday morning at 7am using UpSnap. How do I write the cron expression for that?
Prompt 3
How do I use UpSnap to scan my local network and automatically discover devices instead of adding them manually?
Prompt 4
I want to restrict certain users so they can only wake specific devices but cannot shut them down or edit settings. How do I configure per-device permissions in UpSnap?
Prompt 5
UpSnap has a shutdown feature but the README warns it is a security risk. How does the shutdown command work and how do I safely restrict access to it?
Open on GitHub → Explain another repo

← seriousm4x on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.