Skip to content

seriousm4x/UpSnap

Repository files navigation

UpSnap

A simple wake on lan app written with SvelteKit, Go, PocketBase and nmap.

✨ Features

  • Dashboard to wake up devices with one click
  • Set timed wake and shutdown events via cron
  • Add custom ports to devices which will be pinged
  • Discover devices by scanning network
  • Dark/light or system prefered color scheme
  • Docker images for amd64, arm64, arm/v7

πŸ“Έ Screenshots

Dark Light

πŸš€ Run the binary

Just download the latest binary from the release page and run it.

Run ./upsnap serve --http=0.0.0.0:8090. For more options check ./upsnap --help.

If you need network discovery, make sure to have nmap installed and run upsnap as root/admin.

🐳 Run in docker

Alternatively use the docker-compose example. See the comments in the file for customization.

Reverse Proxy

Caddy example

upsnap.example.com {
    reverse_proxy localhost:8090
}

Help developing

Fork this branch and clone it.

  1. Start backend
cd backend
go mod tidy
go run main.go serve

Log in to http://localhost:8090/_/, create an admin user and add some devices.

  1. Start frontend
cd frontend
pnpm i
pnpm run dev

Open up http://localhost:5173/