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

Развертывание 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.