Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 2.3 KB

File metadata and controls

66 lines (47 loc) · 2.3 KB

Configuration

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.

Network access

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.sh

There 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.

Search roots

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 template

ProPresenter conversion deliberately requires one exact FreeShow template. This prevents an accidental import from using the wrong visual design.

  1. Create or choose a song template in FreeShow.
  2. Close FreeShow or work from a copy before inspecting its data.
  3. Find the template in <FreeShow data>/Config/templates.json.
  4. Set its object key and exact name:
export FSWT_SONG_TEMPLATE_ID="abc123"
export FSWT_SONG_TEMPLATE_NAME="Standard Songs"
./scripts/install-macos.sh

The source .pro file is never modified. Output uses a new filename rather than overwriting an existing .show.

Runtime files

  • 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.