- Add IP forwarding setup (sysctl) to install.sh — container can't write /proc/sys, must be done on host - Add host-level WireGuard detection and auto-stop in install.sh - Update key exchange instructions: 2-step process (server first, then client, then restart server with client key) - Add deployment nuances section to README (ip_forward, wg0 cleanup, compose version warning, key exchange, network_mode, iptables order) - Add production deployment notes to .env.example - Remove obsolete compose version warnings noted during deployment
60 lines
3.2 KiB
Plaintext
60 lines
3.2 KiB
Plaintext
# =============================================================================
|
||
# .env.example — Шаблон переменных окружения
|
||
# Скопируйте в .env и заполните значениями.
|
||
# =============================================================================
|
||
#.cp .env.example .env
|
||
|
||
# ── Сервер (VPS) ────────────────────────────────────────────────────────────
|
||
# Публичный ключ клиента (обязательно для сервера)
|
||
CLIENT_PUBLIC_KEY=
|
||
|
||
# Публичный IP VPS (автоопределение, если пусто)
|
||
SERVER_PUBLIC_IP=
|
||
|
||
# Внешний сетевой интерфейс VPS (автоопределение, если пусто)
|
||
SERVER_PUBLIC_IFACE=
|
||
|
||
# WG адрес сервера (по умолчанию 10.0.0.1)
|
||
SERVER_WG_IP=10.0.0.1
|
||
|
||
# WG порт (по умолчанию 51820)
|
||
SERVER_WG_PORT=51820
|
||
|
||
# WG адрес клиента (по умолчанию 10.0.0.2)
|
||
CLIENT_WG_IP=10.0.0.2
|
||
|
||
# Порты для проброса через DNAT (по умолчанию 80,443)
|
||
FORWARD_PORTS=80,443
|
||
|
||
# ── Клиент (домашний сервер) ────────────────────────────────────────────────
|
||
# Публичный IP VPS (обязательно для клиента)
|
||
VPS_PUBLIC_IP=
|
||
|
||
# Публичный ключ сервера (обязательно для клиента)
|
||
SERVER_PUBLIC_KEY=
|
||
|
||
# WG адрес сервера (по умолчанию 10.0.0.1)
|
||
SERVER_WG_IP=10.0.0.1
|
||
|
||
# WG порт VPS (по умолчанию 51820)
|
||
VPS_WG_PORT=51820
|
||
|
||
# WG адрес клиента (по умолчанию 10.0.2)
|
||
CLIENT_WG_IP=10.0.0.2
|
||
|
||
# Интервал Keepalive в секундах (оптимизировано для Starlink, по умолчанию 21)
|
||
PERSISTENT_KEEPALIVE=21
|
||
|
||
# ── Важные замечания по развёртыванию ──────────────────────────────────────
|
||
# 1. На VPS: включите IP-форвардинг на хосте (контейнер не может /proc/sys):
|
||
# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf && sysctl -p
|
||
# 2. Ключи генерируются автоматически при первом запуске.
|
||
# Сервер: /etc/wireguard/server_private.key, server_public.key
|
||
# Клиент: /etc/wireguard/client_private.key, client_public.key
|
||
# 3. После первого запуска сервера скопируйте SERVER_PUBLIC_KEY в .env клиента.
|
||
# 4. После первого запуска клиента скопируйте CLIENT_PUBLIC_KEY в .env сервера.
|
||
# 5. Перезапустите контейнеры после обновления ключей:
|
||
# docker compose -f docker-compose.server.yml restart (на VPS)
|
||
# docker compose -f docker-compose.client.yml restart (на RPi)
|
||
# 6. Контейнер использует network_mode: host — порты пробрасываются
|
||
# через iptables DNAT, а не через Docker port mapping. |