Gramps WebのDockerによるデプロイ¶
Gramps Webを自分のサーバー(または仮想サーバー)でホストする最も便利なオプションは、Docker Composeを使用することです。
DockerとDocker Composeがすでにシステムにインストールされていると仮定します。ホストシステムとしてWindows、Mac OS、またはLinuxを使用できます。サポートされているアーキテクチャには、x86-64(デスクトップシステム)だけでなく、Raspberry PiのようなARMシステムも含まれており、低コストでありながら十分に強力なウェブサーバーとして機能します。
Note
サーバーにGrampsをインストールする必要はありません。これはdockerイメージに含まれています。
ステップ1: Dockerの設定¶
サーバー上にdocker-compose.ymlという名前の新しいファイルを作成し、以下の内容を挿入します: docker-compose.yml。
これにより、コンテナを再起動する際にすべての関連データが持続することを保証するために、6つの名前付きボリュームが生成されます。
Warning
上記の設定により、ホストマシンのポート80でAPIがSSL/TLS保護なしで利用可能になります。これはローカルテスト用に使用できますが、インターネットに直接公開しないでください。これは完全に安全ではありません!
ステップ2: SSL/TLSによる安全なアクセス¶
ウェブAPIは必ずHTTPS経由で公開インターネットに提供されなければなりません。いくつかのオプションがあります。例えば、
- SSL/TLSを自動的に含むDockerホスティングを使用する
- Let's Encrypt証明書を使用したNginxリバースプロキシを使用する
前者の設定方法については、Docker with Let's Encryptを参照してください。
Gramps Webをローカルネットワークのみで使用する予定の場合は、このステップをスキップできます。
ステップ3: サーバーの起動¶
次のコマンドを実行します。
docker compose up -d
初回実行時、アプリは初回ウィザードを表示し、次のことを行うことができます。
- オーナー(管理者)ユーザーのアカウントを作成する
- 必要な設定オプションを設定する
- Gramps XML(
.gramps)形式の家系図をインポートする
ステップ4: メディアファイルのアップロード¶
メディアファイルをアップロードするためのいくつかのオプションがあります。
- Gramps Webと同じサーバーに保存されているファイルを使用する場合、名前付きボリュームの代わりにDockerコンテナにディレクトリをマウントできます。つまり、
gramps_media:/app/mediaの代わりに/home/server_user/gramps_media/:/app/mediaを使用し、そこにメディアファイルをアップロードします。 - S3にホストされているメディアファイルを使用する場合、S3メディアアップローダーアドオンを使用できます。
- おそらく最も便利なオプションは、Gramps Web Syncを使用することです。