8.2.21 Установка и настройка Etherpad

TheHost Banner EtherPad

Etherpad — это открытый, веб-ориентированный текстовый редактор, который позволяет нескольким пользователям одновременно редактировать один документ в режиме реального времени. Каждому участнику присваивается свой цвет, что делает отслеживание изменений интуитивно понятным. Это идеальное решение для совместной работы над заметками, протоколами встреч или мозговых штурмов, предлагающее мгновенную синхронизацию и возможность просмотра истории изменений.

Предварительные требования и подготовка

Прежде чем приступить к установке Etherpad, убедитесь, что ваш сервер соответствует минимальным требованиям и готов к работе с Docker.

Требования

  • Виртуальный или выделенный сервер с установленной Ubuntu 24.04 LTS.
  • Минимум 1 ГБ оперативной памяти (рекомендуется 2 ГБ для стабильной работы).
  • Минимум 10 ГБ свободного дискового пространства.
  • root-доступ или пользователь с правами sudo.
  • Установленные Docker и Docker Compose. В рамках данной статьи их установка не рассматривается.

Переменные окружения

В ходе выполнения инструкции вам может потребоваться заменить следующие плейсхолдеры:

  • SERVER_IP: IP-адрес вашего сервера.
  • YOUR_ADMIN_PASSWORD: Надёжный пароль для администратора Etherpad.
  • YOUR_DB_USER: Имя пользователя для базы данных.
  • YOUR_DB_PASSWORD: Пароль для пользователя базы данных.
  • YOUR_DB_NAME: Имя базы данных.

Обновление системы Ubuntu

Перед установкой любых новых пакетов всегда рекомендуется обновить список пакетов и установленные пакеты до последних версий. Это гарантирует, что вы используете самые актуальные версии программного обеспечения, исправляющие известные ошибки и уязвимости безопасности.

Выполните следующую команду в терминале:

sudo apt update && sudo apt upgrade -y

Создание каталога проекта Etherpad

Хорошей практикой является создание отдельного каталога для каждого проекта Docker Compose. Это помогает поддерживать порядок и изолировать файлы конфигурации и данные приложения.

  1. Создайте каталог для Etherpad:
mkdir -p ~/etherpad

Пояснение:

  • mkdir: Создаёт каталог.
  • -p: Создаёт родительские каталоги, если они не существуют.
  • ~/etherpad: Указывает путь к новому каталогу в вашей домашней директории.
  1. Перейдите в созданный каталог:
cd ~/etherpad

Пояснение: Все дальнейшие действия, связанные с файлом docker-compose.yml, будут выполняться из этого каталога.

Создание файла docker-compose.yml для Etherpad

Файл docker-compose.yml — это сердце вашего многоконтейнерного приложения. В нём вы определяете все службы (контейнеры), сети и тома, необходимые для работы Etherpad.

  1. Создайте файл docker-compose.yml: Используйте текстовый редактор, например nano, для создания и редактирования файла.
nano docker-compose.yml
  1. Вставьте следующее содержимое в файл:
docker-compose.yml
services:
  etherpad:
    image: etherpad/etherpad:1.9.0
    ports:
      - "9001:9001"
    environment:
      # Встроенная файловая БД (не для продакшена)
				- DB_TYPE=sqlite
				- DB_PATH=/opt/etherpad-lite/var

      # Админ (опционально)
      - ADMIN_USER=admin
      - ADMIN_PASSWORD=YOUR_ADMIN_PASSWORD

      # Базовые настройки
      - TITLE=Etherpad
      - TRUST_PROXY=true
    volumes:
      - etherpad_data:/opt/etherpad-lite/var
    restart: always

volumes:
  etherpad_data:

После вставки содержимого сохраните файл (в nano это Ctrl+O, затем Enter, затем Ctrl+X).

Настройка Etherpad через docker-compose.yml

Мы уже рассмотрели основные параметры в docker-compose.yml, но давайте ещё раз акцентируем внимание на критически важных настройках, особенно для начинающих пользователей.

Настройка базы данных (SQLite)

По умолчанию мы используем SQLite, который не требует дополнительной настройки, кроме указания пути для хранения файла базы данных.

- DB_TYPE=sqlite
- DB_PATH=/opt/etherpad-lite/var

Пояснение:

  • DB_TYPE=sqlite: Указывает Etherpad использовать встроенную поддержку SQLite.
  • DB_PATH=/opt/etherpad-lite/var: Определяет, где внутри контейнера будет храниться файл dirty.db (база данных SQLite). Благодаря тому, что /opt/etherpad-lite/var смонтирован к именованному тому etherpad_data, данные будут сохраняться на хосте.

Запуск Etherpad с помощью Docker Compose

После того как вы создали и настроили файл docker-compose.yml, вы готовы запустить Etherpad.

Убедитесь, что вы находитесь в каталоге ~/etherpad, где расположен ваш файл docker-compose.yml.

docker compose up -d

Проверка работы

После успешного запуска контейнера Etherpad вы можете убедиться, что все контейнеры работают корректно.

Просмотр логов Etherpad

Логи являются бесценным инструментом для диагностики проблем и мониторинга работы вашего приложения.

Чтобы просмотреть логи контейнера Etherpad, выполните:

docker compose logs -f etherpad

Проверьте статус служб Docker Compose:

docker compose ps

Доступ к Etherpad в веб-браузере

После успешного запуска контейнера Etherpad вы можете получить к нему доступ через веб-браузер.

Откройте ваш веб-браузер и введите IP-адрес вашего сервера (или localhost, если вы запускаете Etherpad на своей локальной машине) с портом 9001:

http://SERVER_IP:9001

Пояснение:

  • SERVER_IP: Замените на фактический IP-адрес вашего сервера.
  • 9001: Это порт, который мы сопоставили в docker-compose.yml.

Настройка дополнительных функций

Настройка плагинов Etherpad

Etherpad обладает обширной экосистемой плагинов, которые расширяют его функциональность. Вы можете устанавливать плагины через административную панель Etherpad.

  1. Доступ к админ-панели: Перейдите по адресу http://SERVER_IP:9001/admin в вашем браузере.
  2. Вход: Введите пароль, который вы установили для YOUR_ADMIN_PASSWORD в docker-compose.yml.

  1. Установка плагинов: В админ-панели вы найдёте раздел для управления плагинами. Вы можете искать плагины по названию и устанавливать их прямо из интерфейса.

Распространённые ошибки

Распространённые ошибки
Ошибка / Симптом Причина Решение Диагностика (логи / команды)
Etherpad недоступен по порту 9001 Контейнер не запущен или порт занят. Убедитесь, что контейнер etherpad запущен. Проверьте, не занят ли порт 9001 другим приложением на хосте. `docker compose ps`, `docker logs etherpad`, `` `sudo ss -tulpn
Доступ по домену не работает (Nginx) Ошибка в конфигурации Nginx, домен не указывает на сервер, или Nginx не перезапущен. Проверьте синтаксис конфигурации Nginx, убедитесь, что доменные записи (A/AAAA) указывают на IP вашего сервера. Перезагрузите Nginx. `sudo nginx -t`, `sudo systemctl status nginx`, `dig YOUR_DOMAIN`
Изменения в settings.json не применяются Контейнер не был перезапущен после изменения файла. Перезапустите контейнер Etherpad: `docker compose down && docker compose up -d`. `docker logs etherpad` (искать сообщения о загрузке настроек)
Ошибки при работе с падами (например, сохранение) Проблемы с правами доступа к директории ./data или нехватка места на диске. Убедитесь, что у пользователя Docker есть права на запись в ~/etherpad/data. Проверьте свободное место на диске. `docker logs etherpad`, `df -h`, `ls -l ~/etherpad/data`
Не удаётся установить плагины через веб-интерфейс Проблемы с сетевым доступом из контейнера или неверные права. Проверьте сетевое подключение контейнера. Убедитесь, что Etherpad имеет доступ к репозиторию плагинов. `docker logs etherpad`

Полезные ссылки