# 📄 OnlyOffice Document Server для Coolify Этот репозиторий содержит инструменты для быстрой и безопасной настройки сервера и развертывания **OnlyOffice Document Server** (версия без ограничений подключений) под управлением **Coolify**. --- ## ⚡ Часть 1: Подготовка сервера (Подробная инструкция) Скрипт `setup.sh` автоматически настраивает чистый VPS (Ubuntu/Debian) для работы с Coolify. Он устанавливает Docker, настраивает Firewall, создает Swap и генерирует ключи доступа. ### Пошаговый запуск скрипта: 1. **Подключение:** Зайдите на ваш **новый** чистый сервер по SSH под пользователем `root`. 2. **Запуск команды:** Скопируйте и вставьте следующую команду в терминал, затем нажмите Enter: ```bash bash <(curl -sSL https://raw.githubusercontent.com/FluentBusiness/onlyoffice-coolify/refs/heads/master/setup.sh) ``` 3. **Подтверждение:** Скрипт спросит: `Начать настройку? (y/n)`. Введите `y` и нажмите Enter. 4. **Ожидание:** Дождитесь завершения процесса (это займет 1-2 минуты). Скрипт обновит систему и установит нужные компоненты. 5. **Сохранение ключа (КРИТИЧНО):** В конце работы скрипт очистит экран и покажет блок текста под заголовком `PRIVATE KEY`. * Выделите и скопируйте весь ключ (от `-----BEGIN OPENSSH PRIVATE KEY-----` до `-----END OPENSSH PRIVATE KEY-----`). * Сохраните его в надежном месте (например, в блокноте) прямо сейчас. **Это единственный способ доступа к серверу через Coolify!** --- ## 🔗 Часть 2: Подключение к Coolify и Настройка Прокси ### Этап А: Добавление сервера 1. Откройте панель **Coolify**. 2. Перейдите в **Servers** -> **Add Server**. 3. Заполните данные: * **IP Address**: IP вашего сервера. * **User**: `root`. * **Port**: `22`. * **Private Key**: Вставьте ключ, который вы сохранили на предыдущем этапе. 4. Нажмите **Connect**. ### Этап Б: Смена прокси на Caddy (ОБЯЗАТЕЛЬНО) ⚠️ OnlyOffice работает нестабильно через стандартный прокси Traefik (ошибки Mixed Content). Необходимо переключить его на Caddy. 1. В Coolify откройте настройки этого сервера (**Servers** -> ваш сервер). 2. Найдите блок **Proxy**. 3. Нажмите **Stop Proxy** (если он запущен). 4. В выпадающем списке выберите **Caddy**. 5. Нажмите **Start Proxy**. --- ## 📦 Часть 3: Развертывание OnlyOffice ### 1. Создание ресурса 1. Перейдите в ваш проект (**Project** -> Environment). 2. Нажмите **New** -> **Docker Compose**. 3. Выберите источник (например, **GitHub Repository**) и укажите ссылку на этот репозиторий. Coolify автоматически подтянет файл `docker-compose.yaml`. ### 2. Настройка переменных окружения (ВАЖНО!) ⚠️ Чтобы OnlyOffice принял ваш секретный ключ, нужно правильно настроить переменные. 1. Перейдите в меню **Environment Variables**. 2. Добавьте переменную: * **Key:** `JWT_SECRET` * **Value:** Придумайте сложный пароль (например, `MySuperSecretKey2024`). 3. **Настройка видимости (Критический шаг):** Раскройте дополнительные настройки переменной и обязательно отметьте галочками оба пункта: * ✅ **Available at Buildtime** * ✅ **Available at Runtime** * *Если в интерфейсе переменная дублируется или есть несколько полей для ввода — убедитесь, что она прописана везде и галочки стоят.* 4. Нажмите **Save**. ### 3. Настройка домена 1. В настройках сервиса (General) в поле **Domains** укажите ваш домен (например, `https://office.example.com`). 2. Убедитесь, что DNS вашего домена направлены на IP сервера. ### 4. Запуск Нажмите **Deploy**. Coolify соберет образ и запустит контейнер. Благодаря настройкам Buildtime/Runtime, ваш ключ `JWT_SECRET` корректно применится, и OnlyOffice не будет генерировать случайный пароль. --- ## ℹ️ Технические детали * **Образ**: `thomisus/onlyoffice-documentserver-unlimited` (без лимита подключений). * **Данные**: Хранятся в папке `./onlyoffice` на сервере. * **Требования**: 4GB RAM (или 2GB + Swap).