F7_Office/DEPLOY.md
F7 Office Deploy 9170058500 Изменения в структуре папом F7 Office
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 23:14:25 +00:00

143 lines
7.0 KiB
Markdown
Raw 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. Тема брендинга: f7cloud
Используется только каталог **f7cloud** (`dist/f7cloud/`). WOPI-хост (F7 cloud и т.п.) должен передавать в запросе к coolwsd тему **`f7cloud`**, тогда coolwsd будет отдавать файлы из `dist/f7cloud/`.
Если какой-то хост по старинке запрашивает тему `nextcloud`, на сервере можно создать симлинк для совместимости:
`ln -sf /usr/share/coolwsd/browser/dist/f7cloud /usr/share/coolwsd/browser/dist/nextcloud`
---
## 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/`.