0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS EC2、ALB、Route53を使用したTaiga 6.8のインストール方法 (Docker)

Last updated at Posted at 2024-09-11

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へのデータ移行に関する詳細なブログも公開予定ですので、お楽しみに!

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?