Розгортання 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.