Приватный homelab на одном VPS: сервисы только для вас через WireGuard
Вместо открытия сервисов в интернет запускайте их за VPN WireGuard: безопасная приватная лаборатория на одном сервере.
Руководства · 1 мин чтения
Homelab — это приватная среда для экспериментов и личных сервисов. Вместо домашнего сервера можно использовать один облачный. Главный принцип: не открывайте сервисы в интернет — открывайте их только своему VPN. Так поверхность атаки сводится почти к одному порту VPN.

Архитектура
- WireGuard: зашифрованная приватная сеть (
10.8.0.0/24) между вашим компьютером, телефоном и сервером. - Docker: сервисы работают в контейнерах (см. Установка Docker).
- Привязка: порты привязываются только к адресу VPN (
10.8.0.1) и из интернета не видны.
1. Установите WireGuard
sudo apt install -y wireguard
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee laptop.key | wg pubkey > laptop.pub
2. Конфигурация сервера
Создайте /etc/wireguard/wg0.conf (замените ключи своими значениями):
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
[Peer]
# laptop
PublicKey = LAPTOP_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
sudo ufw allow 51820/udp
sudo systemctl enable --now wg-quick@wg0
sudo wg show
3. Конфигурация клиента
[Interface]
Address = 10.8.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 10.8.0.0/24
PersistentKeepalive = 25
Импортируйте файл в клиент WireGuard (Windows, macOS, Linux, Android, iOS) и подключитесь. Если ping 10.8.0.1 отвечает, приватная сеть готова. Для телефона конфигурацию можно получить в виде QR-кода.
4. Привяжите сервисы к адресу VPN
Публикуйте порты Docker только на адресе VPN:
services:
notes:
image: ghcr.io/example/notes:latest
restart: unless-stopped
ports:
- "10.8.0.1:8080:8080"
К сервису можно обратиться по http://10.8.0.1:8080 только при включённом VPN. При желании и внутри VPN можно использовать домен и HTTPS с Caddy.
Что запустить
| Сервис | Назначение |
|---|---|
| Gitea | Приватные Git-репозитории |
| n8n | Автоматизация |
| Immich | Резервное копирование фото |
| Менеджер паролей, заметки и файловые сервисы | Личное использование |
Безопасность и обслуживание
- Защитите сервер по чек-листу безопасности.
- Создавайте отдельный ключ WireGuard для каждого устройства; ключ потерянного устройства удалите из
wg0.conf. - Регулярно копируйте конфигурацию и данные; перед рискованными обновлениями делайте снимок.
Начните с Melinhost
Для homelab достаточно одного облачного сервера; полный доступ root позволяет настроить WireGuard и Docker как вам нужно.