F7_Office/DEPLOY.md
F7 Office Deploy d6a3131297 F7 Office: кастомизация брендинга, конфиги coolwsd и Apache
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:53:12 +00:00

145 lines
7.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Развёртывание F7 Office (на базе Collabora Online / coolwsd)
Инструкция для переноса на Git и установки на новую машину через `git clone`.
---
## 1. Пути к файлам (из службы coolwsd и конфигов)
### Служба coolwsd
- **Конфиг:** `/etc/coolwsd/coolwsd.xml`
- **SSL (не класть в Git):** `/etc/coolwsd/cert.pem`, `key.pem`, `ca-chain.cert.pem`
- **Доп. конфиг:** `/etc/coolwsd/coolkitconfig.xcu`
- **Корень файлов (из coolwsd.xml):** `file_server_root_path` = `browser/../` → каталог с `browser` = **`/usr/share/coolwsd`**
- **Клиент (статика):** `/usr/share/coolwsd/browser/` — отдаётся по URL `/browser/`
### Apache (reverse proxy)
- **VHost (SSL):** `/etc/apache2/sites-available/collabora-le-ssl.conf`
- **Общий фрагмент:** `/etc/apache2/conf-available/coolwsd.conf`
- **Nginx (если используется):** `/etc/nginx/snippets/coolwsd.conf`
### APT (репозиторий Collabora)
- **Файл репозитория:** `/etc/apt/sources.list.d/` — файл с `collaboraonline.com` / `CODE-ubuntu2204`
- **Хук после установки:** `/etc/apt/apt.conf.d/25coolwsd`
### Изменённые файлы F7 Office (брендинг, текст, ссылки)
| Путь на сервере | Описание |
|-----------------|----------|
| `/usr/share/coolwsd/browser/dist/f7cloud/branding.js` | F7 Office, URL f7cloud.com |
| `/usr/share/coolwsd/browser/dist/f7cloud/branding.css` | FORBION, стили |
| `/usr/share/coolwsd/browser/dist/f7cloud/branding-desktop.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/f7cloud/branding-mobile.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/f7cloud/branding-tablet.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/f7cloud/loading-preview.html` | Страница просмотра экрана загрузки |
| `/usr/share/coolwsd/browser/dist/branding.js` | FORBION, без ссылки col.la |
| `/usr/share/coolwsd/browser/dist/branding.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/branding-mobile.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/branding-tablet.css` | FORBION |
| `/usr/share/coolwsd/browser/dist/cool.html` | F7 Office в «О программе» |
| `/usr/share/coolwsd/browser/dist/welcome/welcome.html` | F7 Office, без ссылок Collabora |
| `/usr/share/coolwsd/browser/dist/wasm.html` | title F7 Office |
| `/usr/share/coolwsd/browser/dist/src/layer/tile/CanvasTileUtils.js` | FORBION |
| `/usr/share/coolwsd/browser/dist/src/layer/tile/TileWorker.js` | FORBION |
| `/etc/apache2/sites-available/collabora-le-ssl.conf` | Alias на `dist/f7cloud` |
| `/etc/coolwsd/coolwsd.xml` | WOPI host, SSL, общие настройки |
---
## 2. Структура репозитория для Git
Рекомендуемая структура в репозитории (чтобы после `git clone` можно было всё расставить скриптом):
```
f7office-deploy/
├── README.md
├── DEPLOY.md # эта инструкция
├── install.sh # копирование файлов на целевую машину
├── etc/
│ ├── coolwsd/
│ │ └── coolwsd.xml
│ └── apache2/
│ └── sites-available/
│ └── collabora-le-ssl.conf
└── usr/share/coolwsd/browser/dist/
├── branding.js
├── branding.css
├── branding-mobile.css
├── branding-tablet.css
├── cool.html
├── wasm.html
├── welcome/
│ └── welcome.html
├── src/layer/tile/
│ ├── CanvasTileUtils.js
│ └── TileWorker.js
└── f7cloud/
├── branding.js
├── branding.css
├── branding-desktop.css
├── branding-mobile.css
├── branding-tablet.css
└── loading-preview.html
```
В Git класть только эти изменённые файлы (и при необходимости `f7cloud/images/` если меняли картинки). Остальное (bundle.js, l10n, admin и т.д.) ставится пакетами `coolwsd` и `code-brand`.
---
## 3. Установка на новую машину (после git clone)
### 3.1. Установка пакетов
```bash
# Репозиторий Collabora CODE (Ubuntu 22.04)
sudo apt-get install -y apt-transport-https ca-certificates
# Добавить репозиторий из https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204
sudo apt-get update
sudo apt-get install -y coolwsd code-brand
```
### 3.2. Клонирование и установка кастомизации F7 Office
```bash
git clone https://git.f7cloud.ru/.../f7office-deploy.git
cd f7office-deploy
sudo ./install.sh
```
### 3.3. Скрипт install.sh (пример)
Скрипт должен:
1. Копировать `usr/share/coolwsd/browser/dist/*` в `/usr/share/coolwsd/browser/dist/`
2. Копировать `etc/coolwsd/coolwsd.xml` в `/etc/coolwsd/` (если нужна ваша конфигурация)
3. Копировать конфиг Apache в `/etc/apache2/sites-available/` и включить сайт
4. Выставить владельца/права при необходимости (coolwsd обычно от пользователя `cool`)
5. Перезапустить: `systemctl restart coolwsd`, `systemctl reload apache2`
### 3.4. Важно: тема «nextcloud» → «f7cloud»
Папка с брендингом переименована в **f7cloud**. Если ваш WOPI-хост (Nextcloud/F7 и т.п.) в запросе к coolwsd передаёт тему `nextcloud`, то coolwsd будет искать каталог `dist/nextcloud/`. Варианты:
- **Вариант A:** В репозитории и на сервере оставить каталог **f7cloud**. Настроить WOPI-хост так, чтобы он передавал тему `f7cloud` (если ваш хост это поддерживает).
- **Вариант B:** В `install.sh` после копирования создать симлинк:
`ln -sf /usr/share/coolwsd/browser/dist/f7cloud /usr/share/coolwsd/browser/dist/nextcloud`
Тогда запросы к теме `nextcloud` будут брать файлы из `f7cloud`.
---
## 4. После apt upgrade
Пакеты `coolwsd` и `code-brand` могут перезаписать файлы в `/usr/share/coolwsd/browser/dist/`. После `apt upgrade` при необходимости снова выполнить:
```bash
cd /path/to/f7office-deploy
sudo ./install.sh
```
Либо настроить `dpkg-divert` на нужные файлы, чтобы пакеты их не перезаписывали.
---
## 5. Итоговые пути для копирования в репозиторий
Все перечисленные в таблице выше файлы должны лежать в репозитории в структуре `usr/share/...` и `etc/...` как в разделе 2, чтобы `install.sh` мог разложить их в `/usr/share/coolwsd/` и `/etc/`.