Podman で Redmine を構築するメモです。Redmine、MySQL、Nginx を同じ Pod にまとめ、外部公開は Nginx に寄せる構成として整理します。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes の仕組み、リソース、ネットワーク、運用観点を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
構成
| コンテナ | 役割 |
| MySQL | Redmine のデータベース |
| Redmine | アプリケーション本体 |
| Nginx | フロントのリバースプロキシ |
ディレクトリ
sudo mkdir -p /opt/container/redmine/{mysql,nginx/conf.d}
sudo chown -R $USER:$USER /opt/container/redminePod の作成
podman pod create --name redmine-pod -p 10080:80MySQL
podman run -d --pod redmine-pod --name redmine-mysql -e MYSQL_ROOT_PASSWORD='change-me-root' -e MYSQL_DATABASE=redmine -e MYSQL_USER=redmine -e MYSQL_PASSWORD='change-me' -v /opt/container/redmine/mysql:/var/lib/mysql:Z docker.io/library/mysql:8Redmine
podman run -d --pod redmine-pod --name redmine -e REDMINE_DB_MYSQL=127.0.0.1 -e REDMINE_DB_DATABASE=redmine -e REDMINE_DB_USERNAME=redmine -e REDMINE_DB_PASSWORD='change-me' docker.io/library/redmine:latestNginx
cat <<'EOF' > /opt/container/redmine/nginx/conf.d/redmine.conf
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
podman run -d --pod redmine-pod --name redmine-nginx -v /opt/container/redmine/nginx/conf.d:/etc/nginx/conf.d:Z,ro docker.io/library/nginx:latest確認
podman ps --pod
curl -I http://127.0.0.1:10080/まとめ
Redmine を Podman で動かす場合、DB、アプリ、フロントを Pod としてひとまとまりにすると構成が読みやすくなります。実運用では systemd unit 化、バックアップ、TLS 終端、メール送信設定を追加します。
Podman Redmine 構築 – MySQL と Nginx を Pod でまとめる




