AWS EC2、ALB、Route53を使用したTaiga 6.8のインストール方法 (Docker)
はじめに
このブログでは、AWS環境を使って、プロジェクト管理ツール「Taiga」バージョン6.8をインストールする手順を解説します。特にAWSのEC2、ALB、Route53を使用し、セキュアなTaiga環境を構築します。また、AWS SESを利用してメール通知機能を追加します。
1. 前提条件
- AWSアカウントが必要です。
- 独自ドメインをRoute53で管理し、ドメイン名を確保しておきます。
- SSL証明書をACM (AWS Certificate Manager) で発行します。
2. EC2インスタンスのセットアップ
EC2インスタンスを作成し、Taigaをインストールする環境を用意します。
- OS: Ubuntu 22.04
-
インスタンスタイプ:
t2.small
- EBS: 16GB (推奨)
- セキュリティグループ: ポート22(SSH)、80(HTTP)、443(HTTPS)を開放します。
SSHでEC2に接続:
ssh -i "your-key.pem" ubuntu@your-ec2-ip
DockerとDocker Composeのインストール:
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
3. Taigaのセットアップ
Taigaのリポジトリをクローンします:
git clone https://github.com/taigaio/taiga-docker.git
cd taiga-docker
.envファイルを設定:
環境に合わせて、メール設定やDB設定をカスタマイズします。
特に、以下の項目を設定してください:
TAIGA_SCHEME=https
TAIGA_DOMAIN=taiga.dev.yourdomain.com
POSTGRES_USER=taiga
POSTGRES_PASSWORD=yourpassword
EMAIL_BACKEND=smtp
EMAIL_HOST=email-smtp.us-west-2.amazonaws.com
EMAIL_PORT=587
EMAIL_HOST_USER=your-ses-user
EMAIL_HOST_PASSWORD=your-ses-password
EMAIL_USE_TLS=True
Dockerコンテナを起動:
docker-compose up -d
管理者ユーザーを作成:
docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage createsuperuser
4. ALB (Application Load Balancer) の設定
ALBの作成:
- リスナー: HTTP (80) と HTTPS (443) リスナーを追加。
- ターゲットグループ: EC2インスタンスをターゲットに設定し、ヘルスチェックを構成。
5. Route53とSSL証明書の設定
Route53でAレコードを設定:
- Route53でドメインをALBにポイントするため、Aレコードを作成します。
ACMでSSL証明書を発行:
- AWS ACMを使ってSSL証明書を取得し、ALBのHTTPSリスナーにアタッチします。
6. AWS SESを使用したメール通知設定
Taigaからのメール送信にはAWS SESを使います。SESのSMTP認証情報を取得し、.env
ファイルに設定を追加します。
.envファイルでのメール設定:
EMAIL_BACKEND=smtp
EMAIL_HOST=email-smtp.region.amazonaws.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=your-ses-user
EMAIL_HOST_PASSWORD=your-ses-password
Dockerを再起動して設定を反映:
docker-compose down
docker-compose up -d
7. Nginxによるリバースプロキシ設定
Taigaがサブドメインまたはサブパスで動作する場合は、Nginxを使ってリバースプロキシを設定します。
サブドメイン設定 (例):
server {
server_name taiga.dev.yourcompany.com;
location /taiga/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://localhost:9000/;
}
# Events
location /taiga/events {
proxy_pass http://localhost:9000/events;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
}
# TLS: Configure your TLS following the best practices inside your company
# Logs and other configurations
}
8. サービスの起動と確認
すべてのサービスが正しく起動しているか確認するには、以下のコマンドを実行してください:
docker-compose ps
ブラウザで https://taiga.dev.yourdomain.com
にアクセスし、Taigaが動作しているか確認します。
まとめ
この手順を完了することで、AWS環境上でのTaiga 6.8のセットアップが完了します。AWS EC2、ALB、Route53を使って、プロジェクト管理ツールTaigaの最新バージョンをセキュアに運用することができます。
次回は、Taiga 4.7から6.8へのデータ移行に関する詳細なブログも公開予定ですので、お楽しみに!