{"captainVersion":2,"dockerCompose":{"services":{"$$cap_appname-signal":{"containerHttpPort":"80","dockerfileLines":["FROM debian:bookworm-slim","RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl && rm -rf /var/lib/apt/lists/*","RUN useradd -r -m -d /home/hopsignal -s /usr/sbin/nologin hopsignal","WORKDIR /home/hopsignal","RUN curl -fsSL -o /usr/local/bin/hopsignal https://www.hoptodesk.com/servers/hopsignal.fil && chmod 755 /usr/local/bin/hopsignal && touch /home/hopsignal/fedlist.txt && chown -R hopsignal:hopsignal /home/hopsignal","USER hopsignal","EXPOSE 80","CMD [\"hopsignal\", \"--ADDR\", \"0.0.0.0:80\", \"--FEDLIST\", \"/home/hopsignal/fedlist.txt\", \"--FEDADDR\", \"0.0.0.0:82\", \"--FEDPWD\", \"123456789\", \"--LOGFILE\", \"/home/hopsignal/hs.log\"]"]},"$$cap_appname":{"image":"nginx:1.27-alpine","command":["/bin/sh","-c","set -eu\nrm -rf /usr/share/nginx/html/*\nmkdir -p \"/usr/share/nginx/html/${HOP_CONFIG_SECRET_PATH}\"\ncat > \"/usr/share/nginx/html/${HOP_CONFIG_SECRET_PATH}/api.json\" </api.json for HopToDesk clients\n- hoptodesk-signal.your-domain.com for HopSignal\n- hoptodesk-turn.your-domain.com for TURN\n\nBefore installing:\n1. Make sure wildcard DNS for *.your-domain.com points to this CapRover server, or create DNS records for the three endpoints above.\n2. Open firewall ports 80/tcp, 443/tcp, 3478/tcp, 3478/udp, 49152/tcp, and 49152/udp, unless you change the TURN ports below.\n3. Set TURN public IP to the public IPv4 address of this server.","end":"HopToDesk personal network deployed.\n\nNext steps:\n1. Enable HTTPS for the signal app and verify WebSocket support is enabled.\n2. Enable HTTPS for the main app.\n3. Verify https://.your-domain.com//api.json returns JSON.\n4. On iPad, set HopToDesk Choose Network to https://.your-domain.com//api.json.\n5. If relay fails, add more individual relay ports to the TURN service and increase max-port."},"displayName":"HopToDesk Personal Network","isOfficial":false,"description":"Personal HopToDesk HopSignal plus minimal coturn relay and api.json endpoint.","documentation":"https://www.hoptodesk.com/on-premises"}