Руководство по установке
PortDock работает на любом Linux-сервере под вашим контролем — VPS, машине в дата-центре или виртуальной машине on-premises.
Требования
- Linux-сервер — рекомендуются Ubuntu или Debian — с доступом root
- Свободные порты 80 и 443 для HTTPS-прокси
- Достаточно памяти для ваших приложений и баз данных (SQL Server нужно около 2 ГБ)
- Docker — установщик добавит его, если его нет
01
Вариант 1 — установщик
Устанавливает Docker, если его нет, и запускает PortDock. Укажите домен, направленный на сервер, чтобы получить HTTPS для панели.
$ git clone https://github.com/gavrilencu/PortDock.git portdock && cd portdock$ sudo bash install.sh # панель на http://<ip-сервера>:8000$ sudo bash install.sh https://portdock.example.com # или с доменомЕсли порт 8000 занят, установщик выберет следующий свободный и выведет адрес (или задайте PORTDOCK_PORT=9000).
02
Вариант 2 — Docker-образ
Если Docker уже установлен.
$ docker run -d --name portdock --restart unless-stopped \ -p 8000:8000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /data/portdock:/data/portdock \ -e PORTDOCK_PUBLIC_URL=http://<ip-сервера>:8000 \ ghcr.io/gavrilencu/portdock:latestМонтируйте каталог данных по тому же пути, что и на хосте (/data/portdock): сборки и бэкапы монтируются во вспомогательные контейнеры по абсолютному пути.
Дальше
- 01
Создайте аккаунт владельца
Откройте панель: первый аккаунт становится владельцем организации.
- 02
Запустите прокси
Серверы → localhost → Запустить настройку устанавливает сеть и прокси Traefik.
- 03
Подключите код
Настройки → Источники Git: подключите GitHub или Azure DevOps либо используйте любой Git-URL.
- 04
Разверните
Новый ресурс → Git-репозиторий, Docker-образ, Compose, база данных или сервис.
Подключение удалённых серверов
- 1.Серверы → Подключить сервер, затем создайте SSH-ключ.
- 2.Добавьте публичный ключ в ~/.ssh/authorized_keys на сервере (рекомендуется пользователь root).
- 3.Нажмите «Запустить настройку»: будут установлены Docker, сеть portdock и прокси Traefik.
- 4.По желанию: задайте wildcard-домен (*.apps.example.com → IP сервера) для автоматических доменов и превью.
Конфигурация
Переменные окружения контейнера PortDock.
| Переменная | По умолчанию | Описание |
|---|---|---|
| PORTDOCK_ADDR | :8000 | HTTP-адрес для прослушивания |
| PORTDOCK_PORT | 8000 | Порт хоста для install.sh и docker-compose.yml |
| PORTDOCK_DATA_DIR | /data/portdock | База данных, ключ шифрования, сборки и бэкапы |
| PORTDOCK_PUBLIC_URL | http://localhost:8000 | Внешний URL для вебхуков; https:// включает защищённые cookie |
| PORTDOCK_SECRET_KEY | создаётся | AES-ключ для секретов — сохраните его резервную копию |
| PORTDOCK_MAX_BUILDS | 4 | Параллельные деплои |
| PORTDOCK_NETWORK | portdock | Docker-сеть, общая с Traefik |
| PORTDOCK_OPENROUTER_URL | https://openrouter.ai/api/v1 | API для ИИ-ассистента |
Обновления
PortDock проверяет наличие нового релиза при каждом открытии и показывает «Доступно обновление» на боковой панели. Один клик — и PortDock делает резервную копию базы и ключа, пересоздаёт себя с новой версией и автоматически откатывается, если она не запускается. Приложения продолжают работать; можно включить автоматические ночные обновления.
Восстановление из командной строки
Потеряли доступ? Сбросьте пароль или отключите двухфакторную аутентификацию прямо на сервере.
$ docker exec portdock portdock -reset-password admin@example.com$ docker exec portdock portdock -disable-2fa user@example.comРазработка
Бэкенд на Go и фронтенд на React; мы рады вашему участию.
$ make dev-api # бэкенд на :8000$ make dev-ui # Vite на :5173$ make test # go vet, go test и проверка TypeScript$ make build # bin/portdock со встроенным интерфейсом