Перейти к содержимому

Быстрый старт: Native Windows

Быстрый старт: Native Windows

Установка Portal на Windows Server без Docker: службы Windows + IIS.

Требования

  • Windows Server 2019+ или Windows 11
  • PostgreSQL 16 — локально или удалённо
  • Redis/Valkey — порт 6379
  • S3-совместимое хранилище (MinIO и т.п.)
  • Права администратора
  • .NET не требуется на сервере клиента (self-contained)

Опционально для UI:

  • IIS с модулями URL Rewrite и ARR (для прокси /api/)

Установка из исходников

Окно терминала
# PowerShell от администратора
Set-ExecutionPolicy -Scope Process Bypass
cd C:\path\to\Portal
.\deploy\portal-cli\portal-cli.ps1 install -Mode native -Build

Установщик:

  1. Собирает Portal.Api, Portal.Worker, Portal.DbInit (win-x64)
  2. Создаёт C:\ProgramData\Portal\portal.env
  3. Копирует файлы в C:\Program Files\Portal
  4. Запускает миграции (Portal.DbInit)
  5. Регистрирует службы PortalApi и PortalWorker
  6. Создаёт сайт IIS Portal (если IIS установлен)

Установка из bundle

Окно терминала
Expand-Archive portal-1.0.0-native-windows-amd64.zip -DestinationPath C:\Portal
cd C:\Portal\portal-1.0.0-native-windows-amd64
# Настройте PostgreSQL, Redis, S3
.\portal-cli\portal-cli.ps1 install -Mode native

Проверка

Окно терминала
Get-Service PortalApi, PortalWorker
Invoke-RestMethod http://127.0.0.1:3001/health
Invoke-RestMethod http://127.0.0.1:3001/api/v1/system/version

С IIS: http://localhost/ (статика + прокси API через web.config)

IIS и прокси API

web.config в frontend использует URL Rewrite для /api/127.0.0.1:3001.

Установите:

  1. IIS (роль Web Server)
  2. URL Rewrite Module
  3. Application Request Routing (ARR) — включите proxy в ARR

Без IIS: доступ к API напрямую на порту 3001.

Обновление

Окно терминала
.\deploy\native\windows\build.ps1
.\deploy\native\windows\install.ps1
Restart-Service PortalApi, PortalWorker

Структура

ПутьНазначение
C:\Program Files\Portal\bin\Api, Worker, DbInit
C:\Program Files\Portal\frontend\Статика SPA
C:\ProgramData\Portal\portal.envКонфигурация
C:\ProgramData\Portal\data\Данные лицензии

Collabora

Разверните Collabora на отдельном Linux-хосте (обычно Docker). Укажите URL в portal.env:

COLLABORA_ENABLED=true
COLLABORA_PUBLIC_URL=https://collabora.company.ru

Устранение неполадок

Окно терминала
Get-EventLog -LogName Application -Source PortalApi -Newest 20
# или
sc.exe query PortalApi

Проверка PostgreSQL:

Окно терминала
# psql в PATH
$env:PGPASSWORD = "..."; psql -h localhost -U portal -d portal -c "SELECT 1"