FreeShow Web Tools reads configuration from environment variables. The macOS
installer records them in the LaunchAgent and writes the subset needed by the
localhost worker to a non-secret JSON file under /Users/Shared.
FSWT_BIND_HOST defaults to 127.0.0.1. This is the safest mode and is useful
when the editor is opened directly on the FreeShow Mac.
For another device on the same Tailscale network, set the Mac's Tailscale IPv4 address before installing:
export FSWT_BIND_HOST="100.x.y.z"
./scripts/install-macos.shThere is no application-level authentication. Do not use 0.0.0.0, a public
address, router port forwarding, or an untrusted LAN. Use Tailscale ACLs to
limit which people and devices can reach the configured port.
Wildcard listeners (0.0.0.0 and ::) are rejected unless
FSWT_ALLOW_INSECURE_BIND=1 is explicitly set. That escape hatch is intended
for controlled development environments, not normal deployment.
By default, only ~/Documents and ~/Downloads can be searched or used as
sources. Override them with a colon-separated list:
export FSWT_SEARCH_ROOTS="$HOME/Documents:$HOME/Downloads:/Volumes/Media"Every path-based mutation resolves the source and verifies that it remains inside one of these roots. Keep this list as narrow as practical.
ProPresenter conversion deliberately requires one exact FreeShow template. This prevents an accidental import from using the wrong visual design.
- Create or choose a song template in FreeShow.
- Close FreeShow or work from a copy before inspecting its data.
- Find the template in
<FreeShow data>/Config/templates.json. - Set its object key and exact name:
export FSWT_SONG_TEMPLATE_ID="abc123"
export FSWT_SONG_TEMPLATE_NAME="Standard Songs"
./scripts/install-macos.shThe source .pro file is never modified. Output uses a new filename rather
than overwriting an existing .show.
- LaunchAgent:
~/Library/LaunchAgents/io.github.michaeldarkblue.freeshow-web-tools.plist - Worker key and logs:
<repository>/var/ - Forced worker copy:
/Users/Shared/freeshow-web-tools-worker-<username>/ - Restart helper:
~/bin/fswt-restart-freeshow.sh
The var/ directory and worker private key are ignored by Git.