Files
onlyoffice-coolify/README.md
T
2026-01-10 23:02:14 +03:00

106 lines
5.0 KiB
Markdown

# 📄 OnlyOffice Document Server for Coolify
Этот репозиторий содержит инструменты для быстрой и безопасной настройки сервера и развертывания **OnlyOffice Document Server** (версия без ограничений подключений) под управлением **Coolify**.
---
### ⚡ Быстрый старт
Зайдите на новый сервер по SSH под `root` и выполните команду:
```bash
bash <(curl -sSL https://raw.githubusercontent.com/FluentBusiness/onlyoffice-coolify/refs/heads/master/setup.sh)
```
---
Проект состоит из двух частей:
1. 🚀 **Автоматический скрипт настройки сервера** (`setup.sh`) — готовит "голый" VPS к работе.
2. 📦 **Конфигурация Docker Compose** (`docker-compose.yaml`) — для развертывания приложения внутри Coolify.
---
## 🛠️ Часть 1: Подготовка сервера (One-line Setup)
Скрипт `setup.sh` превращает чистый сервер (Ubuntu/Debian) в защищенную ноду для Coolify за одну команду.
### Что делает скрипт:
* **Безопасность**: Настраивает UFW (Firewall), устанавливает Fail2Ban, отключает вход по паролю (SSH Hardening).
* **Производительность**: Создает **Swap-файл на 4GB** (критично для OnlyOffice, чтобы избежать OOM ошибок).
* **Окружение**: Устанавливает Docker, curl, jq, git, htop.
* **Доступ**: Генерирует новые SSH-ключи (Ed25519) и выводит Private Key для подключения в Coolify.
### ⚡ Быстрый старт
Зайдите на новый сервер по SSH под `root` и выполните команду:
```bash
bash <(curl -sSL https://raw.githubusercontent.com/FluentBusiness/onlyoffice-coolify/refs/heads/master/setup.sh)
```
1. Подтвердите начало установки (`y`).
2. Дождитесь завершения.
3. **ВАЖНО:** В конце скрипт выведет `PRIVATE KEY`. Скопируйте его и сохраните! Он понадобится для добавления сервера в Coolify.
---
## 🔗 Часть 2: Подключение к Coolify
1. Откройте вашу панель **Coolify**.
2. Перейдите в **Servers** -> **Add Server**.
3. Заполните данные:
* **IP Address**: IP вашего сервера.
* **User**: `root`.
* **Port**: `22`.
* **Private Key**: Вставьте ключ, полученный на предыдущем шаге.
4. Нажмите **Connect**.
---
## 📦 Часть 3: Развертывание OnlyOffice
Внутри Coolify создайте новый ресурс:
1. **Project** -> Выберите проект -> **New** -> **Docker Compose**.
2. Скопируйте содержимое файла `docker-compose.yaml` из этого репозитория или используйте код ниже:
```yaml
services:
onlyoffice:
image: thomisus/onlyoffice-documentserver-unlimited:9.1.0
restart: always
environment:
- JWT_ENABLED=true
- JWT_HEADER=AuthorizationJwt
volumes:
- onlyoffice_data:/var/www/onlyoffice/Data
- onlyoffice_log:/var/log/onlyoffice
- onlyoffice_lib:/var/lib/onlyoffice
- onlyoffice_db:/var/lib/postgresql
```
### Настройка в Coolify:
1. **Domains**: Укажите ваш домен (например, `https://office.example.com`).
2. **Environment Variables**: Добавьте переменную `JWT_SECRET` с надежным паролем. Этот секрет понадобится для подключения Nextcloud/Moodle/Confluence к OnlyOffice.
3. Нажмите **Deploy**.
---
## ℹ️ Технические детали
* **Образ**: Используется `thomisus/onlyoffice-documentserver-unlimited`, который снимает ограничение на 20 одновременных подключений, присутствующее в официальной бесплатной версии.
* **Сеть**: Контейнер подключается к внешней сети `coolify`, что позволяет Traefik (прокси Coolify) автоматически перенаправлять трафик без проброса портов на хост.
* **Данные**: Все данные хранятся в именованных Docker-томах (`named volumes`) для удобства резервного копирования и миграции.
## ⚠️ Требования к серверу
* **RAM**: Минимум 4GB (или 2GB RAM + 4GB Swap, который создает скрипт).
* **CPU**: 2 ядра (рекомендовано).
* **OS**: Ubuntu 20.04/24.04 или Debian 11/12.