Files
wireguard-vps-tunnel/.env.example
Deploy Bot 1c4a40f0c1
Some checks failed
Build and Push Docker Images / Сборка сервера (multi-arch) (push) Has been cancelled
Build and Push Docker Images / Сборка клиента (multi-arch) (push) Has been cancelled
feat: add deployment hardening from production experience
- 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
2026-07-30 01:05:13 +01:00

60 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# .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.