Быстрый старт
Ниже — минимальный практический сценарий: один Beacon/bootstrap relay, один sidecar-сервис и клиент.
1. Создать сеть
Заголовок раздела «1. Создать сеть»knotroute network createРезультат:
kn_...Используйте этот ID во всех компонентах одной сети.
2. Beacon через Docker
Заголовок раздела «2. Beacon через Docker»services: beacon: image: ghcr.io/localzet/knotroute-beacon:latest restart: unless-stopped ports: - "8080:8080" - "7447:7447" volumes: - beacon-data:/data environment: KNOTROUTE_NETWORK_ID: "kn_..." KNOTROUTE_BEACON_LISTEN: "0.0.0.0:8080" KNOTROUTE_BEACON_RELAY: "true" KNOTROUTE_BEACON_RELAY_LISTEN: "0.0.0.0:7447" KNOTROUTE_BEACON_RELAY_ADVERTISE: "relay.example.net:7447"
volumes: beacon-data:Для production Beacon HTTP лучше отдавать через HTTPS reverse proxy, а 7447/tcp оставить отдельным raw TCP endpoint.
3. Sidecar рядом с приложением
Заголовок раздела «3. Sidecar рядом с приложением»services: app: image: nginx:alpine networks: [private]
knotroute: image: ghcr.io/localzet/knotroute-sidecar:latest restart: unless-stopped networks: [private] volumes: - knotroute-data:/data environment: KNOTROUTE_NETWORK_ID: "kn_..." KNOTROUTE_BEACONS: "https://beacon.example.net" KNOTROUTE_SERVICE_NAME: "web" KNOTROUTE_SERVICE_TARGET: "app:80"
networks: private:
volumes: knotroute-data:Посмотрите logs:
docker compose logs -f knotrouteSidecar печатает published service address.
4. Клиент
Заголовок раздела «4. Клиент»На Windows используйте desktop app; на Android — Android client; на Linux/macOS можно запустить CLI node и направить браузер/приложение на локальный HTTP/SOCKS proxy.
Клиенту нужны как минимум:
Network ID: kn_...Beacon: https://beacon.example.net5. Проверка
Заголовок раздела «5. Проверка»Проверьте не только /healthz, а реальный end-to-end путь с другой машины:
client → discovery → circuit → directory → rendezvous → sidecar → appЕсли .knot не открывается, используйте пошаговый troubleshooting.