LAN Access
Luker runs as a web server. By default it accepts connections only from the machine it runs on, so a phone, tablet, or second computer on the same network cannot reach it. This guide turns on access from other devices on your local network.
Typical reasons to do this:
- Keep Luker running on a computer and use it from a phone or tablet.
- Reach one Luker install from several devices on a home network.
- Use Luker on iPhone or iPad, which have no app.
If your goal is to sync data between two Luker installs instead, see LAN Sync. That is a separate feature.
Why the default setup fails
Two settings block LAN access:
listen: false— Luker binds only to the loopback address, so other devices cannot open a connection at all.whitelistMode: true— Luker rejects every address that is not in thewhitelistlist.
With the shipped defaults, a device on your network either gets a connection error or, once listening is enabled, an HTTP 403 Forbidden page. The server console also logs Blocked connection from <ip>.
To allow LAN access, change both the listening setting and the whitelist.
Step 1: Enable listening
Open config.yaml in the Luker root directory and set:
listen: trueLeave listenAddress and protocol as shipped:
listenAddress:
ipv4: 0.0.0.0
ipv6: "[::]"
protocol:
ipv4: true
ipv6: falseOn startup the console prints Luker is listening on IPv4: 0.0.0.0:8000 instead of the loopback address. Restart the server after editing the file.
Step 2: Allow your devices
Option A: Add your network to the whitelist
Keep whitelistMode: true and add the subnet your devices use:
whitelistMode: true
whitelist:
- ::1
- 127.0.0.1
- 192.168.0.0/16Individual addresses, CIDR ranges, and wildcards such as 192.168.1.* all work. Keep 127.0.0.1 and ::1 in the list so the host machine can still connect. If you do not know your subnet, add all three private ranges at once:
whitelist:
- ::1
- 127.0.0.1
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16Option B: Turn off the whitelist
Set whitelistMode: false to accept any address. Luker treats this as insecure and requires another protection layer, or it exits at startup:
- Enable Basic Auth — see Authentication
- Enable user accounts and set a password for every admin user
- Set
securityOverride: true, which is for debugging only
Find the host address
On the machine running Luker, read its LAN address:
# Windows
ipconfig
# macOS
ipconfig getifaddr en0
# Linux
hostname -ILook for the IPv4 address in a private range, such as 192.168.1.23.
Connect from another device
On the other device, open a browser and enter the host address and port:
http://192.168.1.23:8000Use http://, not https://. The address must be the host's LAN address, not localhost.
Docker
The Docker compose file in Getting Started binds the port to 127.0.0.1:8000, which blocks LAN access before Luker sees the request. Change the port mapping to publish on all interfaces, and set listen: true and the whitelist in the mounted config.yaml:
ports:
- 0.0.0.0:8000:8000Security
A LAN is not automatically trusted, especially on shared or public Wi-Fi. Before opening Luker to other devices:
- Turn on Basic Auth or the multi-user account system.
- Keep the whitelist narrow when only a few devices need access.
- Do not create port-forwarding rules on your router. To reach Luker from outside your network, use a VPN or a tunneling service.
iOS
There is no iOS app, so iPhone and iPad use the browser over the network. See iOS for the reason and the setup steps.
Troubleshooting
- 403 Forbidden page — the device's address is not in the whitelist. Add it, or widen the subnet.
- Connection times out or is refused, and nothing appears in the console — the server is not reachable. Check that
listenistrueand that the host firewall allows the port:- Windows: allow Node.js through the firewall and set the network profile to Private. On Windows 11, enable the Private Network profile.
- Linux:
sudo ufw allow 8000 - macOS: allow incoming connections for the Node process in System Settings.
- Only the host machine can connect — the address used on the other device is still
localhost. Use the host's LAN address.
Related pages
- Configuration — complete config reference
- Authentication & Security — Basic Auth, accounts, whitelist
- LAN Sync — keep two Luker installs in sync