Перейти к содержанию

Развертывание Gramps Web с помощью Docker

Самый удобный способ разместить Gramps Web на собственном сервере (или виртуальном сервере) — это использовать Docker Compose.

Мы предполагаем, что Docker и Docker Compose уже установлены в вашей системе. Вы можете использовать Windows, Mac OS или Linux в качестве хост-системы. Поддерживаемые архитектуры включают не только x86-64 (настольные системы), но и ARM-системы, такие как Raspberry Pi, которые могут служить недорогим, но достаточно мощным веб-сервером.

Note

Вам не нужно устанавливать Gramps на сервер, так как он содержится в образе Docker.

Шаг 1: Конфигурация Docker

Создайте новый файл на сервере с именем docker-compose.yml и вставьте в него следующее содержимое: docker-compose.yml.

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

Warning

Вышеуказанное сделает API доступным на порту 80 хост-машины без защиты SSL/TLS. Вы можете использовать это для локального тестирования, но не выставляйте это напрямую в интернет, это совершенно небезопасно!

Шаг 2: Защита доступа с помощью SSL/TLS

Веб-API должен обслуживаться в публичном интернете через HTTPS. Существует несколько вариантов, например:

  • Использование хостинга Docker, который автоматически включает SSL/TLS
  • Использование обратного прокси-сервера Nginx с сертификатом Let's Encrypt

Смотрите Docker с Let's Encrypt для получения информации о настройке первого варианта.

Если вы планируете использовать Gramps Web только в своей локальной сети, вы можете пропустить этот шаг.

Шаг 3: Запуск сервера

Запустите

docker compose up -d

При первом запуске приложение отобразит мастер настройки, который позволит вам

  • Создать учетную запись для владельца (администратора)
  • Установить некоторые необходимые параметры конфигурации
  • Импортировать семейное дерево в формате Gramps XML (.gramps)

Шаг 4: Загрузка медиафайлов

Существует несколько вариантов загрузки медиафайлов.

  • При использовании файлов, хранящихся на том же сервере, что и Gramps Web, вы можете смонтировать каталог в контейнер Docker вместо использования именованного тома, т.е. /home/server_user/gramps_media/:/app/media вместо gramps_media:/app/media, и загрузить ваши медиафайлы туда.
  • При использовании медиафайлов, размещенных на S3, вы можете использовать дополнение S3 Media Uploader.
  • Наиболее удобный вариант — использовать Gramps Web Sync.