Конечно! Это отличная практика — иметь качественный `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.