Windows: различия между версиями
Admin (обсуждение | вклад) Новая страница: «= Windows: подготовка и развёртывание self‑hosted сервисов = Windows — привычная среда для многих администраторов, которая также подходит для размещения облачных сервисов. Благодаря поддержке WSL2 (Windows Subsystem for Linux) и Docker Desktop, вы можете запускать Nextcloud, ZeroTier, VPN-сервер...» |
Admin (обсуждение | вклад) м Защитил страницу Windows ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно)) |
(нет различий)
| |
Текущая версия от 12:23, 4 августа 2026
Windows: подготовка и развёртывание self‑hosted сервисов
Windows — привычная среда для многих администраторов, которая также подходит для размещения облачных сервисов. Благодаря поддержке WSL2 (Windows Subsystem for Linux) и Docker Desktop, вы можете запускать Nextcloud, ZeroTier, VPN-серверы и другие приложения практически так же, как на Linux, сохраняя при этом родной графический интерфейс.
В этой статье описана настройка Windows 10/11 Pro или Windows Server 2019/2022 (рекомендуются редакции Pro/Enterprise, так как в Home ограничена поддержка контейнеров).
1. Подготовка системы
1.1. Активация WSL2 и виртуализации
Для работы Docker Desktop требуется подсистема Windows для Linux (WSL2) и включённая виртуализация в BIOS/UEFI.
Откройте PowerShell от имени администратора и выполните:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Перезагрузите компьютер.
После перезагрузки установите ядро WSL2 (скачайте пакет обновления с [официального сайта](https://learn.microsoft.com/ru-ru/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package)) и выполните:
wsl --set-default-version 2
Теперь можно установить дистрибутив Linux из Microsoft Store (например, Ubuntu 22.04) или через:
wsl --install -d Ubuntu
1.2. Установка необходимых компонентов
Установите актуальные версии:
- Git for Windows (для клонирования репозиториев)
- Visual C++ Redistributable (часто требуется для драйверов и утилит)
Также убедитесь, что в системе установлен OpenSSH-клиент (встроен в Windows 10/11, можно активировать в «Управление дополнительными компонентами»).
2. Установка Docker Desktop
Docker Desktop для Windows использует WSL2 для запуска контейнеров, что даёт почти нативную производительность.
- Скачайте установщик с [официального сайта Docker](https://www.docker.com/products/docker-desktop/).
- Запустите установку, согласившись с лицензией.
- В процессе установки отметьте опцию «Use WSL 2 instead of Hyper-V» (рекомендуется).
- После завершения перезагрузите компьютер.
При первом запуске Docker Desktop предложит войти в учётную запись (можно пропустить). Убедитесь, что в настройках (Settings → Resources → WSL Integration) включена интеграция с вашим дистрибутивом Ubuntu.
Проверьте работу в PowerShell:
docker --version docker run hello-world
Также установите Docker Compose (он уже входит в состав Docker Desktop, достаточно проверить):
docker compose version
3. Развёртывание Nextcloud
Есть два основных подхода: через Docker (универсальный) или через официальный установщик для Windows (AIO – All-in-One). Рекомендую Docker, так как он даёт изоляцию и простоту обновлений.
3.1. Способ 1 – Docker Compose
Создайте папку для проекта, например, C:\nextcloud. Внутри создайте файл docker-compose.yml (можно использовать Блокнот, но лучше редактор с подсветкой, например, VS Code):
version: '3'
services:
db:
image: mariadb:10.6
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=secretrootpass
- MYSQL_PASSWORD=secretpass
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:stable
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./data:/var/www/html/data
- ./config:/var/www/html/config
- ./apps:/var/www/html/custom_apps
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=secretpass
depends_on:
- db
Замените пароли на свои. Откройте PowerShell в этой папке и выполните:
docker compose up -d
Nextcloud будет доступен по адресу http://localhost:8080 (или http://<IP-компьютера>:8080 для доступа с других устройств).
3.2. Способ 2 – официальный установщик Nextcloud AIO
Скачайте установщик с [nextcloud.com](https://nextcloud.com/install/#instructions-server). Запустите Nextcloud.exe, следуйте инструкциям мастера. Этот вариант подходит, если вы хотите минимально возиться с настройкой, но он менее гибкий.
4. Установка ZeroTier
ZeroTier для Windows устанавливается как обычное приложение.
- Скачайте MSI-инсталлятор с [zerotier.com](https://www.zerotier.com/download/).
- Запустите установку, соглашаясь с параметрами по умолчанию.
- После установки запустите приложение ZeroTier (значок в трее).
- Нажмите «Join Network» и введите идентификатор вашей сети.
- В веб-панели ZeroTier одобрите новое устройство.
Также можно управлять через командную строку (администратор):
cd "C:\Program Files\ZeroTier\One" zerotier-cli join <network_id> zerotier-cli listnetworks
Чтобы ZeroTier автоматически запускался при старте системы, в сервисах (services.msc) установите тип запуска «Автоматически» для службы ZeroTier One.
5. Настройка брандмауэра Windows
Для работы Nextcloud и ZeroTier необходимо открыть соответствующие порты в Защитнике Windows.
- Откройте «Брандмауэр Защитника Windows» → «Дополнительные параметры».
- Создайте правила для входящих подключений:
* Nextcloud: порт 8080 (TCP) – разрешить. * ZeroTier: порт 9993 (UDP) – разрешить (если требуется прямое соединение).
- Также разрешите входящие соединения для приложений Docker и ZeroTier (обычно они добавляются автоматически при первом запуске).
Для проверки используйте команду (в PowerShell):
Test-NetConnection -ComputerName localhost -Port 8080
6. Рекомендации по безопасности
- Используйте учётные записи с ограниченными правами для запуска сервисов.
- Настройте автоматические обновления Windows и Docker Desktop.
- Включите шифрование диска (BitLocker) для защиты данных.
- Для публичного доступа к Nextcloud обязательно настройте HTTPS через обратный прокси (например, Nginx или Caddy) с сертификатом Let's Encrypt.
- Периодически проверяйте логи контейнеров через Docker Desktop (вкладка Containers).
7. Полезные команды для PowerShell
| Команда | Назначение |
|---|---|
docker ps |
список запущенных контейнеров |
docker logs <имя> |
просмотр логов контейнера |
docker exec -it <имя> cmd |
вход в контейнер (если в образе есть cmd) |
docker compose up -d |
перезапуск всех сервисов из папки |
docker system prune -a |
очистка неиспользуемых образов и контейнеров |