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