手当たり次第に書くんだ

飽きっぽいのは本能

Podman GROWI 環境構築

GROWI を Podman で動かす構成を整理します。MongoDB、Elasticsearch、GROWI、Nginx を Pod にまとめ、外部公開は Nginx に寄せます。

構成

MongoDBGROWI のデータ保存
Elasticsearch検索機能
GROWIWiki アプリケーション
Nginxリバースプロキシ / TLS 終端

Pod の作成

podman pod create   --name growi-pod   -p 10000:443

podman pod ps

データ用ディレクトリ

sudo mkdir -p /opt/container/growi/data
sudo chown -R $USER:$USER /opt/container/growi

MongoDB と Elasticsearch

podman run -d --pod growi-pod --name growi-mongo   -v /opt/container/growi/mongo:/data/db:Z   docker.io/library/mongo:6

podman run -d --pod growi-pod --name growi-elasticsearch   -e discovery.type=single-node   docker.elastic.co/elasticsearch/elasticsearch:7.17.0

GROWI

podman run -d --pod growi-pod --name growi   -e MONGO_URI=mongodb://127.0.0.1:27017/growi   -e ELASTICSEARCH_URI=http://127.0.0.1:9200   weseek/growi:latest

確認

podman ps --pod
podman logs growi 2>/dev/null || true
curl -kI https://127.0.0.1:10000/

systemd 化

常用する場合は Podman の generate systemd で unit 化します。

podman generate systemd --new --name growi-pod > container-growi-pod.service
sudo cp container-growi-pod.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now container-growi-pod.service

まとめ

Podman で複数コンテナのアプリケーションを動かす場合、Pod 単位でネットワークをまとめると Docker Compose の構成を読み替えやすくなります。本番運用では secret、バックアップ、TLS、更新手順を別途設計します。

Podman GROWI 環境構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る