01 · Architecture
Recommended Proxmox layout
Run Localynk Headless in an unprivileged Debian 13 LXC. Keep the application and database on the container root disk, and bind-mount large file storage from the Proxmox host into /srv/localynk-storage.
| Resource | Normal LAN use | Heavier concurrent transfers |
|---|---|---|
| CPU | 1 core | 2 cores |
| RAM | 1 GB | 2 GB |
| Swap | 512 MB | 1 GB |
| Root disk | 8–16 GB | 16 GB+ |
| Network | vmbr0 + DHCP/static LAN IP | Same |
02 · Create the LXC
Start with Debian 13.
- Download a Debian 13 standard CT template in Proxmox.
- Create an unprivileged container.
- Use bridge
vmbr0. - Assign DHCP or a reserved/static address.
- Start the CT and open its console.
If IP works but package downloads fail, check DNS with getent hosts deb.debian.org and confirm the CT has a valid nameserver.
03 · Install
Use the Proxmox installer.
Extract the BuildFix9 source package inside the LXC, then run the dedicated installer:
The production deployment path installs pinned dependencies, performs dependency integrity checks, installs localynk.service, enables scheduled database backups and performs a health verification. BuildFix9 also attempts application rollback if activation fails health verification.
Verify immediately
04 · First run
Protect Web Admin first.
From another machine on the same LAN, open http://SERVER-IP:8742/admin. Create the administrator password, sign in, enroll TOTP 2FA, verify a six-digit code and save the recovery codes outside the Localynk server.
05 · Storage
Bind-mount large storage cleanly.
On the Proxmox host, mount the physical disk first. Then use the included helper so the LXC receives it at /srv/localynk-storage.
Replace CT ID 120 and the disk path with your real values.
If the folder is visible but not writable
If the touch fails, fix host-side ownership/mapping or rerun the supplied HDD helper instead of making the folder world-writable.
06 · Firewall
Allow what Localynk actually uses.
| Port | Protocol | Purpose |
|---|---|---|
| 8742 | TCP | API, Web Admin, Web Client, file transfer |
| 8743 | UDP | Localynk LAN discovery |
| 5353 | UDP | mDNS / Zeroconf |
BuildFix9 includes proxmox/FIREWALL-UFW.sh. If you use SSH, allow SSH before enabling UFW.
07 · Pair devices
Approve first, grant second.
- Open the Android or Desktop client.
- Discover Localynk automatically, or manually enter the server IP and port 8742.
- Submit the pairing request.
- Open Web Admin → Devices and approve it.
- Grant Browse / Download / Upload / Delete only where needed.
If the phone connects but a shared folder is missing, open the device’s share permissions and confirm Browse is enabled for that share. BuildFix9 retains the late-created-share permission tooling introduced earlier in RC14.
08 · Backups
Back up metadata and files separately.
The Localynk backup protects the SQLite database and server state. Your actual files in /srv/localynk-storage need their own backup plan (another disk, NAS, rsync, ZFS snapshot strategy, etc.).
09 · Upgrade
Upgrade without deleting state.
Back up first, extract the new release into a new source directory, then run its proxmox/INSTALL-PROXMOX.sh. Keep /var/lib/localynk and /srv/localynk-storage intact. BuildFix9’s deployment logic keeps a previous application tree for rollback when a new activation fails health verification.
10 · Troubleshooting
Fast problem map
Run systemctl status localynk and journalctl -u localynk -n 150 --no-pager. Check port conflicts with ss -ltnp | grep :8742.
Confirm localynk-ctl health, then test curl http://127.0.0.1:8742/api/v2/health inside the CT. If local works, inspect firewall/routing.
Manual IP + port 8742 should still work. Check UDP 8743/5353 and whether the client is on the same broadcast domain.
Check Web Admin → Devices → permissions and ensure Browse is granted for that share.
The configured maximum upload size was exceeded. Change the server limit intentionally; do not disable the protection blindly.
Free disk reserve or share quota is insufficient. Check df -h and the configured share quota.
Check unprivileged UID/GID mapping and host mount state. Do not solve it with chmod -R 777.
Use a recovery code or run localynk-ctl reset-2fa from the server console.
Collect the first diagnostics
11 · Emergency commands