wol
(short for Wake-on-LAN) is a simple interface for sending magic packets, written in Rust and Svelte.
docker run -e CONFIG_FILE=<PATH-TO-CONFIG> -p 3000:3000 ghcr.io/phntxx/wol
version: "3.8"
services:
...
wol:
image: ghcr.io/phntxx/wol
network_mode: host
environment:
- CONFIG_FILE=<PATH-TO-CONFIG>
...
wol is configured using the config file and environment variables:
The configuration file tells wol about the saved devices, so that these can be woken up easily. For an example, see config.yml.
Environment variable | Docker default | Description |
---|---|---|
RUST_LOG |
wol |
Used to configure backend logging |
CONFIG_FILE |
/app/config.yml |
Location of the configuration file |
FRONTEND_PATH |
/app/frontend |
Location of the built frontend |
ADDRESS |
0.0.0.0:3000 |
The address the backend will bind to |
You can also build wol from source. In order to do so, please run the following commands:
-
Clone this git repository:
git clone https://github.com/phntxx/wol.git
-
Build the frontend:
cd wol/frontend npm install npm run build
-
Build the backend:
cd wol/backend cargo build
In order to run wol for development purposes, the following commands need to be run:
-
Clone this git repository:
git clone https://github.com/phntxx/wol.git
-
Create an initial build of the frontend:
cd wol/frontend npm install npm run build
-
Run the backend using your initial build of the frontend:
cd wol/backend ADDRESS="0.0.0.0:3000" FRONTEND_PATH="../frontend/build" CONFIG_FILE="../config.yml" cargo run
-
In another terminal, run the vite development server:
cd wol/frontend npm run dev
The backend should now be accessible on port 3000
, with the frontend preview being available on port 5173
.