Skip to content
/ UpSnap Public
forked from seriousm4x/UpSnap

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

License

Notifications You must be signed in to change notification settings

xneo1/UpSnap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 ./upsnap serve --http=0.0.0.0:8090.

For more options check ./upsnap --help or visit PocketBase documentation.

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.

If you need additional packages inside the container, uncomment the entrypoint inside the compose file. You can search for your needed package here.

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/

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Svelte 59.2%
  • Go 32.7%
  • SCSS 3.8%
  • JavaScript 1.9%
  • TypeScript 0.9%
  • Dockerfile 0.9%
  • Other 0.6%