Gramps Web'i Docker ile Dağıtma¶
Gramps Web'i kendi sunucunuzda (veya sanal sunucuda) barındırmanın en uygun seçeneği Docker Compose ile gerçekleştirmektir.
Docker ve Docker Compose'un sisteminizde zaten yüklü olduğunu varsayıyoruz. Windows, Mac OS veya Linux'u ana sistem olarak kullanabilirsiniz. Desteklenen mimariler yalnızca x86-64 (masaüstü sistemler) ile sınırlı değildir, aynı zamanda düşük maliyetli ama yeterince güçlü bir web sunucusu olarak hizmet verebilen Raspberry Pi gibi ARM sistemlerini de içerir.
Note
Sunucuda Gramps'ı yüklemenize gerek yoktur, çünkü bu docker imajında bulunmaktadır.
Adım 1: Docker yapılandırması¶
Sunucuda docker-compose.yml adında yeni bir dosya oluşturun ve aşağıdaki içeriği ekleyin: docker-compose.yml.
Bu, konteyner yeniden başlatıldığında tüm ilgili verilerin kalıcı olmasını sağlamak için altı adlandırılmış hacim oluşturacaktır.
Warning
Yukarıdaki işlem, API'yi ana makinenin 80 numaralı portunda SSL/TLS koruması olmadan kullanılabilir hale getirecektir. Bunu yerel testler için kullanabilirsiniz, ancak bunu doğrudan internete açmayın, tamamen güvensizdir!
Adım 2: SSL/TLS ile güvenli erişim¶
Web API'si mutlaka kamu internetine HTTPS üzerinden sunulmalıdır. Birkaç seçenek vardır, örneğin:
- SSL/TLS'yi otomatik olarak içeren bir docker barındırma kullanmak
- Let's Encrypt sertifikası ile bir Nginx Ters Proxy kullanmak
İlk seçenek için Let's Encrypt ile Docker sayfasına bakın.
Eğer Gramps Web'i yalnızca yerel ağınızda kullanmayı planlıyorsanız, bu adımı atlayabilirsiniz.
Adım 3: Sunucuyu başlatma¶
Aşağıdaki komutu çalıştırın:
docker compose up -d
İlk çalıştırmada, uygulama size aşağıdakileri yapmanıza olanak tanıyan bir ilk çalışma sihirbazı gösterecektir:
- Sahip (admin) kullanıcı için bir hesap oluşturma
- Bazı gerekli yapılandırma seçeneklerini ayarlama
- Gramps XML (
.gramps) formatında bir aile ağacı içe aktarma
Adım 4: Medya dosyalarını yükleme¶
Medya dosyalarını yüklemek için birkaç seçenek vardır.
- Gramps Web ile aynı sunucuda depolanan dosyaları kullanırken, adlandırılmış bir hacim yerine Docker konteynerine bir dizin bağlayabilirsiniz, yani
gramps_media:/app/mediayerine/home/server_user/gramps_media/:/app/mediakullanarak medya dosyalarınızı buraya yükleyebilirsiniz. - S3'te barındırılan medya dosyalarını kullanırken, S3 Medya Yükleyici Eklentisi'ni kullanabilirsiniz.
- Tartışmasız en uygun seçenek Gramps Web Senkronizasyonu kullanmaktır.