Перейти до змісту

Розгортання 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 Reverse Proxy з сертифікатом 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 Addon.
  • Найзручніший варіант - це використання Gramps Web Sync.