# Сервер A4 в сети организации — редакторы F1 и A4

Два редактора, которые работают внутри вашей сети: **F1** — таблицы (`.xlsx`,
`.xlsm`, `.xlsb`), **A4** — документы (`.docx`). Файлы и учётные записи остаются
у вас: сервер спрашивает их у вашей системы и ничего не хранит.

Интернет при установке не нужен — образы лежат архивами рядом с этим файлом.

> **Редактор презентаций P2 появится в комплекте следующей версией.**

## Что в комплекте

| файл | что это |
|---|---|
| `F1-2026.3.0-gaa7d3405-webhost-docker.tar.gz` | образ F1 (таблицы) |
| `A4-0310-dde282c51-webhost-docker.tar.gz` | образ A4 (документы) |
| `SHA256SUMS` | контрольные суммы обоих архивов |
| `docker-compose.yml` | запуск двух редакторов сразу |
| `nginx-primer.conf` | обратный прокси на оба редактора за одним именем |
| `OTKAT.md` | откат на прежнюю версию и что делать с рабочими копиями |
| `F1-2026.3.0-gaa7d3405-webhost-INSTALL.md` | подробная установка и настройка F1 |
| `A4-0310-dde282c51-webhost-INSTALL.md` | то же для A4 |

## Что нужно

- Linux **x86-64** и Docker (проверено на 28.x).
- 2 ГБ памяти на сервер плюс примерно 250 МБ на каждую открытую книгу или документ.
- Обратный прокси с поддержкой WebSocket, если сервер смотрит в интернет.

Образы собраны **одиночной сборкой под `linux/amd64`**, это не мультиарх. На
хосте arm64 они не пойдут, и в `docker-compose.yml` поэтому стоит строка
`platform: linux/amd64` — чтобы Docker отказал понятно, а не взял молча не то.

## Установка

```sh
# 1. сверить, что архивы скачались целиком
sha256sum -c SHA256SUMS            # на маке: shasum -a 256 -c SHA256SUMS

# 2. загрузить образы (интернет не нужен)
docker load -i F1-2026.3.0-gaa7d3405-webhost-docker.tar.gz
docker load -i A4-0310-dde282c51-webhost-docker.tar.gz

# 3. поправить в docker-compose.yml два адреса вашей системы и поднять
docker compose up -d
```

### Форма флагов: значение через ПРОБЕЛ

Это главная ловушка при настройке, поэтому вынесено наверх. Значение флага
отделяется **пробелом**:

```yaml
command:
  - --auth-url
  - https://ваша-система/v1/me
```

Форма `--auth-url=https://…` одной строкой **не работает и молчит**: сервер
поднимется и ответит «status: ok», но ваши адреса будут отброшены, подпуть не
применится, а пределы останутся стандартными. Замер 01.10 на этом образе: с `=`
предел кабинок остался 12 вместо заданных 4, а `/f1/health` отвечал 403 вместо
200. Та же форма — в `docker run`: `--base-path /f1`, а не `--base-path=/f1`.

## Проверка после запуска

```sh
curl http://127.0.0.1:8092/f1/health     # таблицы
curl http://127.0.0.1:8090/a4/health     # документы
```

В ответе должно быть:

- `"status": "ok"`;
- верное `"product"` — `f1` или `a4`;
- пустой список `"warnings"` и `"behind": null` внутри `"version"` — редактор и
  вычислительное ядро из одного выпуска. Если `behind` называет половину
  (`"ядро"` или `"оболочка"`), они разошлись больше чем на 6 часов, и такой образ
  ставить не нужно. Соседнее поле `"skewMin"` — справка: на сколько минут
  расходится время сборки половин; у годного образа это минуты, ровно ноль там
  ждать не нужно (в этом комплекте у обоих образов он 0 — проверено подъёмом
  перед выдачей).

Если `/f1/health` отвечает **403**, а `/health` в корне — 200, значит подпуть не
применился: смотрите форму флагов выше.

## Что нужно от вашей системы

Сервер не хранит ни пользователей, ни файлы. Ему нужны два адреса:

- **кто это** — `--auth-url`, по нему сервер узнаёт пользователя;
- **файл по номеру** — `--attach-url`, по нему забирает и отдаёт содержимое.

Третий адрес нужен, только если разрешаете сохранять. Подробности, включая
работу за обратным прокси и совместную правку, — в файлах `*-INSTALL.md`.

Сторонним системам, которые открывают файлы по WOPI, нужен адрес discovery; он
складывается из подпути редактора:

```
https://ваш-сервер/f1/hosting/discovery    — таблицы
https://ваш-сервер/a4/hosting/discovery    — документы
```

## Если у вас 1С или Битрикс24 — возможно, нужен другой комплект

- **«A4 для 1С»** (версия 0.5.0 от 01.10.2026) — отдельный комплект со своим
  сервером: образ `a4-server`, собранный поверх образа F1, плюс расширение
  `A4-1C-0.5.0.1.cfe` для самой 1С. Версии двух комплектов идут независимо, и
  образ F1 внутри него — не обязательно тот, что лежит здесь; какой именно,
  сказано в паспорте того выпуска. Если задача — открывать файлы из 1С, берите
  тот комплект: сервер в нём уже есть, и ставить этот не нужно.

- **«A4 для Битрикс24»** (модуль `a4.wopi`, версия 0.2.1) — это **только модуль
  портала**, сервера в нём нет. Ему нужен сервер из этого комплекта: в настройках
  модуля указываются два адреса WOPI discovery — основной сервер
  таблиц/документов (он здесь) и отдельный сервер презентаций P2 (его в
  комплекте пока нет), а также публичный адрес портала. Публичный адрес должен
  быть доступен и браузеру, и контейнерам редакторов.

## Поддержка и обновления

Свежие сборки и документация: **https://tech.plantype.ru/**
