8.2.21 Установка и настройка 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. Это помогает поддерживать порядок и изолировать файлы конфигурации и данные приложения.
- Создайте каталог для Etherpad:
mkdir -p ~/etherpad
Пояснение:
mkdir
: Создаёт каталог.-p
: Создаёт родительские каталоги, если они не существуют.~/etherpad
: Указывает путь к новому каталогу в вашей домашней директории.
- Перейдите в созданный каталог:
cd ~/etherpad
Пояснение: Все дальнейшие действия, связанные с файлом docker-compose.yml
, будут выполняться из этого каталога.
Создание файла docker-compose.yml для Etherpad
Файл docker-compose.yml
— это сердце вашего многоконтейнерного приложения. В нём вы определяете все службы (контейнеры), сети и тома, необходимые для работы Etherpad.
- Создайте файл
docker-compose.yml
: Используйте текстовый редактор, напримерnano
, для создания и редактирования файла.
nano 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.
- Доступ к админ-панели:
Перейдите по адресу
http://SERVER_IP:9001/admin
в вашем браузере. - Вход:
Введите пароль, который вы установили для
YOUR_ADMIN_PASSWORD
вdocker-compose.yml
.
- Установка плагинов: В админ-панели вы найдёте раздел для управления плагинами. Вы можете искать плагины по названию и устанавливать их прямо из интерфейса.
Распространённые ошибки
Распространённые ошибки
Ошибка / Симптом | Причина | Решение | Диагностика (логи / команды) |
---|---|---|---|
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` |
Полезные ссылки
Официальная документация