diff --git a/README.md b/README.md index 73c6da7..498dada 100644 --- a/README.md +++ b/README.md @@ -1 +1,99 @@ -# onlyoffice-coolify \ No newline at end of file +Конечно! Это отличная практика — иметь качественный `README.md`, чтобы любой (включая тебя самого через полгода) мог развернуть проект за пару минут. + +Вот готовый текст в формате Markdown. Ты можешь создать файл `README.md` в корне репозитория и вставить туда этот код. + +# 📄 OnlyOffice Document Server for Coolify + +Этот репозиторий содержит инструменты для быстрой и безопасной настройки сервера и развертывания **OnlyOffice Document Server** (версия без ограничений подключений) под управлением **Coolify**. + +Проект состоит из двух частей: +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. + + +