Skip to content

Environment Variables

articwake is configured entirely through environment variables. This page provides a complete reference.

These must be set for articwake to start.

Required | No default

The MAC address of your target homelab server. Used for Wake-on-LAN packets.

Terminal window
export ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"

Accepted formats:

  • Colon-separated: aa:bb:cc:dd:ee:ff
  • Dash-separated: aa-bb-cc-dd-ee-ff
  • No separator: aabbccddeeff
  • Case insensitive: AA:BB:CC:DD:EE:FF

Required | No default

The IP address of your target homelab server. Used for status checks and SSH connections.

Terminal window
export ARTICWAKE_HOMELAB_IP="192.168.1.100"

Recommended: Use a Tailscale IP for reliability:

Terminal window
export ARTICWAKE_HOMELAB_IP="100.x.y.z"

Optional | Default: 127.0.0.1

The IP address to bind the HTTP server to.

Terminal window
# Localhost only (default, secure)
export ARTICWAKE_BIND_HOST="127.0.0.1"
# All interfaces (required for network access)
export ARTICWAKE_BIND_HOST="0.0.0.0"
# Specific interface
export ARTICWAKE_BIND_HOST="192.168.1.50"

Optional | Default: 80

The HTTP port to listen on.

Terminal window
export ARTICWAKE_PORT="8080"

Optional | Default: 255.255.255.255

The broadcast address for Wake-on-LAN packets.

Terminal window
# Global broadcast (default)
export ARTICWAKE_HOMELAB_BROADCAST="255.255.255.255"
# Subnet broadcast (try if WOL doesn't work)
export ARTICWAKE_HOMELAB_BROADCAST="192.168.1.255"

Optional | Default: 2222

The SSH port for dropbear running in your server’s initrd.

Terminal window
export ARTICWAKE_SSH_PORT="2222"

Common values:

  • 2222 - Most common for dropbear-initramfs
  • 22 - If dropbear uses standard SSH port
  • 4748 - Some alternative configurations

Optional | Default: /etc/secrets/articwake-key

Path to the Ed25519 private key for SSH authentication.

Terminal window
export ARTICWAKE_SSH_KEY_PATH="/etc/secrets/articwake-key"

The file must:

  • Exist and be readable
  • Have mode 0600 (owner read/write only)
  • Be a valid Ed25519 private key

Optional | Default: /var/lib/articwake/pin.hash

Path to the file containing the Argon2-hashed PIN.

Terminal window
export ARTICWAKE_PIN_HASH_PATH="/var/lib/articwake/pin.hash"

Generate with:

Terminal window
echo -n "your-pin" | articwake hash-pin > /var/lib/articwake/pin.hash
VariableRequiredDefaultDescription
ARTICWAKE_BIND_HOSTNo127.0.0.1HTTP bind address
ARTICWAKE_PORTNo80HTTP port
ARTICWAKE_HOMELAB_MACYes-Target MAC address
ARTICWAKE_HOMELAB_IPYes-Target IP address
ARTICWAKE_HOMELAB_BROADCASTNo255.255.255.255WOL broadcast address
ARTICWAKE_SSH_PORTNo2222Dropbear SSH port
ARTICWAKE_SSH_KEY_PATHNo/etc/secrets/articwake-keySSH private key path
ARTICWAKE_PIN_HASH_PATHNo/var/lib/articwake/pin.hashPIN hash file path
Terminal window
export ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"
export ARTICWAKE_HOMELAB_IP="192.168.1.100"
Terminal window
export ARTICWAKE_BIND_HOST="0.0.0.0"
export ARTICWAKE_PORT="80"
export ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"
export ARTICWAKE_HOMELAB_IP="100.x.y.z"
export ARTICWAKE_HOMELAB_BROADCAST="255.255.255.255"
export ARTICWAKE_SSH_PORT="2222"
export ARTICWAKE_SSH_KEY_PATH="/etc/secrets/articwake-key"
export ARTICWAKE_PIN_HASH_PATH="/var/lib/articwake/pin.hash"
ARTICWAKE_BIND_HOST="0.0.0.0"
ARTICWAKE_PORT="80"
ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"
ARTICWAKE_HOMELAB_IP="100.x.y.z"
ARTICWAKE_SSH_PORT="2222"