はじめに
AWX は Docker Compose によるインストール方法をサポートしています。ただ、docker-compose.yml を用意して docker-compose コマンドを実行するのではなく、ansible-playbook コマンドを使用する方法になっています。何故 docker-compose コマンドを使用しないのでしょうか?
また、AWX だけ準備できてもソースコードリポジトリのコンテナが無いと、Github 等の既存のサービスが必要です。環境次第では何らかのソースコードリポジトリをデプロイする必要があるでしょう。個人的には Github クローンの1つ、Giteaがお勧めです。Go 言語で開発されており、GitLab より高速に動作します。
無いなら作ってしまいましょう、という事で、docker-compose.yml を用意するシェルスクリプトを作成しました。もっと良い方法があるのかも知れません。あればコメント欄で教えてください。
準備
-
docker-compose パッケージをインストールします。
-
docker サービスを起動します。
-
こちら からシェルスクリプトをダウンロードします。
-
シェルスクリプトの冒頭にある変数を適切に変更します。
-
シェルスクリプトを実行して docker-compose.yml を作成します。
$ bash gen-dc-awx-gitea.sh
-
docker-compose コマンドを実行します(1回目)
$ sudo docker-compose up
各コンテナの実行ログがコンソール上に表示されます。そのうち、AWX 用の DB マイグレーションが実行されるので、マイグレーションが終わるまで待ちます。
-
CTRL-C で一旦実行を止めます。
-
docker-compose コマンドを実行します(2回目)
$ sudo docker-compose up -d
後はサービスにアクセスするだけです。
使用
デフォルトでは、以下のポートが使用されます。
- 443/TCP:AWX WebUI (HTTPS)
- 8443/TCP: Gitea WebUI (HTTPS)
- 10022/TCP: Gitea Git (SSH)
Gitea 画面の右上の sign-in をクリックすると、初回はサーバのセットアップ画面になります。デフォルト値は事前に docker-compose.yml で設定済みなので、ほとんど設定値を変更する必要はありませんが、管理者アカウントを追加するのであればこの画面で設定します。
利用上の注意
- AWX から見て Gitea のホスト名は gitea になります。ですので、AWX のプロジェクト登録時に Gitea 上の Git リポジトリを入力する際、URL のホスト名部分は Gitea の FQDN ではなく gitea にする必要があります。