Быстрый старт: Native Windows
Эта инструкция рассчитана на администратора, который хочет поставить Portal на Windows Server без Docker: службы Windows и (по желанию) IIS.
Читайте сверху вниз. На каждом шаге есть команда «что ввести» и способ проверить, что шаг удался.
Если ещё не выбрали способ установки — сначала выберите канал.
0. Что вы получите в итоге
Заголовок раздела «0. Что вы получите в итоге»После всех шагов:
- Работают службы Windows
PortalApiиPortalWorker. - API отвечает на порту 3001 (и при IIS — сайт на http://localhost/).
- Можно войти как
adminи активироватьLICENSE.key.
Используйте готовый bundle из дистрибутива. .NET на сервере не нужен — бинарники self-contained.
1. Что нужно заранее
Заголовок раздела «1. Что нужно заранее»| Что | Простыми словами | Минимум |
|---|---|---|
| ОС | Windows Server или ПК для пилота | Server 2019+ или Windows 11 |
| PostgreSQL | База данных | версия 16 (локально или удалённо) |
| Redis / Valkey | Кэш | порт 6379 |
| S3 | Файлы библиотек | MinIO и т.п. |
| Права | Установка служб | PowerShell от администратора |
| Bundle | ZIP поставщика | portal-*-native-windows-amd64.zip |
Опционально для удобного UI:
- IIS (роль Web Server)
- модуль URL Rewrite
- Application Request Routing (ARR) — включите proxy в ARR
Без IIS API доступен напрямую на порту 3001.
Опционально: Portal Office (на Windows — через Docker Desktop или отдельный Linux-хост).
2. Подготовьте инфраструктуру
Заголовок раздела «2. Подготовьте инфраструктуру»До установки Portal должны быть доступны:
- PostgreSQL 16 — база и пользователь (например
portal/portal). - Redis или Valkey на порту 6379.
- S3-совместимое хранилище и bucket (например
portal-files).
Запишите хост, порт, логин, пароль и параметры S3 — они понадобятся в portal.config.yaml.
Подробнее: Внешние сервисы.
3. Распакуйте bundle и настройте конфиг
Заголовок раздела «3. Распакуйте bundle и настройте конфиг»Откройте PowerShell от имени администратора.
Шаг 3.1. Распаковка
Заголовок раздела «Шаг 3.1. Распаковка»Expand-Archive portal-1.0.0-native-windows-amd64.zip -DestinationPath C:\Portalcd C:\Portal\portal-1.0.0-native-windows-amd64Get-LocationGet-ChildItem portal-cli, configПодставьте свою версию в имени ZIP.
Шаг 3.2. Конфиг
Заголовок раздела «Шаг 3.2. Конфиг»Скопируйте пример конфига (имя файла в бандле может быть portal.config.native.example.yaml или рядом в config\) и отредактируйте:
- PostgreSQL, Redis, S3;
portal.timezone— IANA (Europe/Moscow) или имя зоны Windows (Russian Standard Time).
Сохраните как portal.config.yaml в корне распакованного bundle.
4. Установите Portal
Заголовок раздела «4. Установите Portal».\portal-cli\portal-cli.ps1 install -Mode nativeУстановщик по шагам:
- Копирует файлы в
C:\Program Files\Portal. - Создаёт
C:\ProgramData\Portal\portal.env. - Запускает миграции (
Portal.DbInit). - Регистрирует службы
PortalApiиPortalWorker. - Создаёт сайт IIS
Portal(если IIS уже установлен).
Проверка:
Get-Service PortalApi, PortalWorkerСтатус должен быть Running.
5. Проверьте, что всё работает
Заголовок раздела «5. Проверьте, что всё работает»Get-Service PortalApi, PortalWorkerInvoke-RestMethod http://127.0.0.1:3001/healthInvoke-RestMethod http://127.0.0.1:3001/api/v1/system/versionОжидается: health отвечает, в version есть номер сборки.
С IIS откройте в браузере: http://localhost/ (статика + прокси /api/ через web.config).
Без IIS: http://127.0.0.1:3001/
6. IIS и прокси API (если нужен сайт на 80 порту)
Заголовок раздела «6. IIS и прокси API (если нужен сайт на 80 порту)»web.config в каталоге frontend переписывает /api/ → 127.0.0.1:3001.
Шаг 6.1. Установите компоненты
Заголовок раздела «Шаг 6.1. Установите компоненты»- Роль IIS (Web Server).
- URL Rewrite Module.
- Application Request Routing (ARR) — в настройках ARR включите Enable proxy.
Шаг 6.2. Проверка
Заголовок раздела «Шаг 6.2. Проверка»Get-Service PortalApiInvoke-RestMethod http://localhost/api/v1/system/versionЕсли 502 — служба API не запущена или ARR proxy выключен.
7. Активируйте лицензию
Заголовок раздела «7. Активируйте лицензию»Без активированного LICENSE.key запись в Portal недоступна.
Через админку
Заголовок раздела «Через админку»- Войдите как администратор.
- Админка → Настройки → Продукт и лицензия.
- Скопируйте Привязку для заказа ключа.
- Загрузите
LICENSE.keyили вставьте ключ → активируйте.
Через CLI
Заголовок раздела «Через CLI».\portal-cli\portal-cli.ps1 license activate -File LICENSE.key8. Часовой пояс
Заголовок раздела «8. Часовой пояс»В portal.config.yaml задайте portal.timezone. Значение записывается в C:\ProgramData\Portal\portal.env как TZ.
После смены:
Restart-Service PortalApi, PortalWorkerGet-Service PortalApi, PortalWorker9. Portal Office (редактор документов)
Заголовок раздела «9. Portal Office (редактор документов)»Редактор не входит в native-бандл Windows. Скачайте на korport.ru/portal-office (LICENSE.key + привязка):
- Docker Desktop на Windows — пакет Docker (инструкция).
- Или отдельный Linux-хост — пакет Linux systemd или Docker.
В env Portal:
PORTAL_OFFICE_ENABLED=truePORTAL_OFFICE_PUBLIC_URL=https://office.company.ruБез редактора: PORTAL_OFFICE_ENABLED=false. Подробнее: Portal Office.
10. Обновление
Заголовок раздела «10. Обновление»Expand-Archive portal-1.1.0-native-windows-amd64.zip -DestinationPath C:\Portalcd C:\Portal\portal-1.1.0-native-windows-amd64
.\portal-cli\portal-cli.ps1 upgrade -Mode nativeRestart-Service PortalApi, PortalWorkerПроверка:
Get-Content "C:\Program Files\Portal\bin\RELEASE"Invoke-RestMethod http://127.0.0.1:3001/api/v1/system/versionОнлайн из админки: в отдельном процессе оставьте .\portal-cli.ps1 update-runner, затем Настройки → Продукт и лицензия → Обновить. Полная инструкция: Обновление Portal.
11. Структура на сервере
Заголовок раздела «11. Структура на сервере»| Путь | Назначение |
|---|---|
C:\Program Files\Portal\bin\ | Api, Worker, DbInit |
C:\Program Files\Portal\frontend\ | Статика SPA |
C:\ProgramData\Portal\portal.env | Конфигурация |
C:\ProgramData\Portal\data\ | Данные лицензии |
12. Типичные проблемы
Заголовок раздела «12. Типичные проблемы»Get-Service PortalApi, PortalWorkersc.exe query PortalApiGet-EventLog -LogName Application -Source PortalApi -Newest 20Invoke-RestMethod http://127.0.0.1:3001/healthЕсли служба не стартует — смотрите Event Log и параметры Postgres/Redis/S3 в C:\ProgramData\Portal\portal.env.
Подробнее: Устранение неполадок.
13. Связанные документы
Заголовок раздела «13. Связанные документы»- Какой вариант установки выбрать
- Внешние сервисы
- Portal Office
- Обновление Portal
- Устранение неполадок
- Отладка расширений — Attach из IDE к службам на хосте