Appearance
Nextbox 1.12 — Docker all-in-one
Образ nextbox-docker.ptnl.moscow/nextbox/nextbox-all-in-one:1.12.0 содержит монолит Nextbox Core, frontend, PostgreSQL 17, Redis, RabbitMQ и Caddy. Core запускается вместе с обработчиком файлов в режиме core-with-worker. Document Server и другие внешние расширения устанавливаются отдельно.
Системные требования
- Docker с поддержкой Linux-контейнеров.
- Архитектура amd64 (x86_64). Образ all-in-one 1.12 выпускается только для x64.
- Достаточно места для образа, базы данных и пользовательских файлов.
Установка
Создайте сеть, если её ещё нет. В этой сети можно разместить Document Server и другие внешние сервисы:
bash
docker network create nextboxЗапустите контейнер:
bash
docker run -d --name nextbox --restart unless-stopped \
--platform linux/amd64 --network nextbox \
-p 8095:80 \
-v nextbox_data:/var/nextbox \
-e POTENTIAL_CORE_SERVICE_FRONT_URL=http://localhost:8095 \
nextbox-docker.ptnl.moscow/nextbox/nextbox-all-in-one:1.12.0Для доступа с других компьютеров замените http://localhost:8095 на внешний адрес Nextbox. Веб-интерфейс доступен по этому адресу.
Внешний HTTP-порт контейнера — 80, в примере он опубликован на порту 8095. Caddy обслуживает frontend и направляет /api и /l на Core внутри контейнера по адресу 127.0.0.1:6005. Отдельный nginx для этого образа не требуется.
Данные и конфигурация
Том nextbox_data подключён к /var/nextbox: в нём находятся конфигурация, PostgreSQL и данные Nextbox. Сохраняйте этот том при замене контейнера.
При первой установке создаётся /var/nextbox/config/core.yml с уникальными JWT key, service token, AES-ключом Connections и signing key OnlyOffice. При повторном запуске существующий core.yml сохраняется без изменений. Настройки также можно задавать через переменные POTENTIAL_*.
Стандартные пользователь, пароль и база локального PostgreSQL — nextbox. При изменении POSTGRES_PASSWORD укажите соответствующий POTENTIAL_CORE_DATABASE_ADMIN_DSN. Для уже существующей базы смена переменной POSTGRES_PASSWORD сама по себе не меняет пароль роли PostgreSQL.
Document Server
Установите Document Server отдельно. При запуске контейнера Nextbox добавьте:
bash
-e POTENTIAL_ONLYOFFICE_DISCOVERY_ONLYOFFICE_SERVER_URL=http://documentserver \
-e POTENTIAL_ONLYOFFICE_DISCOVERY_GATEWAY_URL=http://<адрес_сервера>:8095documentserver должен разрешаться из контейнера Nextbox; для обращения по имени контейнера подключите оба сервиса к одной Docker-сети. Адрес gateway должен быть доступен из Document Server.
Signing key Document Server должен совпадать с onlyoffice.tokens.server_key в core.yml. При новой установке префикс документов — local; при обновлении сохраняются прежние ключ и префикс. Caddy проксирует /onlyoffice/ на заданный Document Server.
Проверка запуска
bash
docker inspect --format '{{.State.Health.Status}}' nextbox
docker exec nextbox wget -q -O- http://127.0.0.1:6005/readyz
docker exec nextbox wget -q -O- http://127.0.0.1:6005/statusz
docker logs nextboxГотовый контейнер имеет статус healthy. При первом старте Core выполняет миграции базы данных, поэтому готовность может наступить не сразу.
Обновление
Переход со старого all-in-one 1.11 и последующие обновления 1.12 описаны в инструкции обновления.