Files
selfphoneng/deploy/probe/compose.yml
T
iamdoubz 60348cf0c5
ci / check (push) Successful in 1m13s
ci / images (push) Successful in 4m2s
ci / check (pull_request) Successful in 1m42s
ci / images (pull_request) Successful in 28s
security: a key for the network test probe (08 §7 #9)
Settings → Network makes a key, shown once and stored encrypted; the api sends
it to the probe as a Bearer token, and a new probe address drops it. A probe
with PROBE_KEY only answers that key. Without one it stays open, and
Diagnostics strongly recommends setting it.
2026-10-28 16:28:23 -05:00

27 lines
1.3 KiB
YAML

# SPDX-License-Identifier: AGPL-3.0-or-later
# The network test probe (08 §2.6). Run it on a machine OUTSIDE the network SelfPhoneNG is in (a
# small VPS is plenty), then put its URL in SelfPhoneNG: Settings → Network → Network test probe.
# It only ever tests the address that asks it, a few times per 10 minutes per address.
#
# docker compose -f deploy/probe/compose.yml up -d → http://<this machine>:8080
#
# Host networking, so it sees the real address that asks (Docker's published ports can hide it).
# Behind your own HTTPS reverse proxy on this machine instead: set PORT to a local port,
# TRUST_PROXY=true (it then listens on 127.0.0.1 only; HOST changes that), and have the proxy set
# X-Forwarded-For. The SIP checks connect out from here, so no other ports are needed.
services:
probe:
# Built by each release, like the api and asterisk images (pick your registry and version).
image: ghcr.io/iamdoubz/selfphoneng-probe:latest
restart: unless-stopped
network_mode: host
environment:
PORT: '8080'
TRUST_PROXY: 'false'
# Strongly recommended: SelfPhoneNG → Settings → Network → Generate key, paste it here, and
# the probe only answers your server. Empty: anyone who finds the probe can use it.
PROBE_KEY: ''
logging:
driver: json-file
options: { max-size: 10m, max-file: '3' }