-
Notifications
You must be signed in to change notification settings - Fork 0
セットアップ方法
基本的にはREADMEに書いてあるとおりですが、ここではより詳細な手順を書いていきます。 実行結果はArch Linux上でのものです。
まずルートドメインとフィールド名を設定します。ローカルで動かすだけならデフォルトのlocalhost,field_aで大丈夫です。
次に./config/docker/init.sh
を実行し、パスワードとSSH鍵を生成します。
$ ./config/docker/init.sh
Generating public/private rsa key pair.
Your identification has been saved in /home/kotet/Documents/RoboDragons/ssl-simulation-setup/config/docker/../vnc_rsa
Your public key has been saved in /home/kotet/Documents/RoboDragons/ssl-simulation-setup/config/docker/../vnc_rsa.pub
The key fingerprint is:
SHA256:nZE1llp4RlgfMQKdaZ7aqp/2Ey5Olk7bt3nMv7sGxTs guacamole-vnc
The key's randomart image is:
+---[RSA 3072]----+
| .BB++. |
| o+X+ o |
| oB .o |
| ..oo o |
| S oo . .|
| ..o. E |
| =o ..o.|
| =++o .o+|
| .=*ooo+**|
+----[SHA256]-----+
そして./config/caddy/generate_caddyfile.py
を実行してCaddyfileを生成します。
memo: 素のUbuntu 20.04の場合jinja2をインストール必要がある
$ sudo apt install python3-pip
$ pip3 install jinja2
ここまで準備ができたらコンテナを立ち上げます。 サーバーなのでバックグラウンドで実行したほうが都合が良いでしょう。
$ docker-compose up -d
各コンテナのログはdocker-compose logs
で確認できます。
次に./config/guacamole/update_guacamole.py
を実行します。
自分の環境ではめっちゃwarningが出ますが実はその中にguacamoreのadminパスワードが紛れています。
$ ./config/guacamole/update_guacamole.py
/usr/lib/python3.9/site-packages/urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'vnc.field-a.localhost'. Adding certificate verification is strongly advised. See: https://urllib3.readt
hedocs.io/en/latest/advanced-usage.html#ssl-warnings
warnings.warn(
New admin password: SQ4mvB28Fq7ZO7nVLlfUKNUluI1uyLM4
次に./config/caddy/update_caddy_passwords.sh
を実行してハッシュ化したパスワードを書き出します。
ここに出てくるパスワードはハッシュ化されています。
TODO: 元のパスワードはどう設定するのか? 元のパスワードはconfig/passwords
にあります。
ここに書かれているユーザ名とパスワードを使ってguacamoreにログインできます。
$ cat config/caddy_passwords
guacadmin:JDJhJDE0JC9GYmJNQlNHWW5hSkdkelBtVHhMY09zVjZhV29rUnpPZEZubDlidm80QVdOcXhJc0pQV1BX
tigers:JDJhJDE0JDFjazJvWTRWeVhyYkp3cEJZR2twMXVYVjNYd2lyZGcya1UuTm5VN0hBLkEzUE9KbFluczJl
erforce:JDJhJDE0JGdpcy9aRE5BZmx4VjVCdTZNWGQuWnVhQ1U4STcwMXE2Vm5yZjdyNllhLk92Q0FNYUFIYzAy
ubcthunderbots:JDJhJDE0JGxzUGI4dzZuUVYzeWNxTVhCMmpDRWV3STUzaHZzQ0VQUkJ1ak5YdkdzcFA4UFAwUGR0R0F1
robocin:JDJhJDE0JDdOMVVuZ015RXZMMUJDQVJ6R2Jxa2Via0dxWDd5UkRKWmxOZndaM0RnanBwcFcyLjU1T0hT
robofei:JDJhJDE0JHB3UkxoQ3Y3eHZER2g4OG9vV1BKMGV1RXEuTTZ6LlZoMGN0cVBzdGVIdTZEejlGQk1LL0dH
roboteamtwente:JDJhJDE0JDNLSFZpVW4xYjJJSzIuRHhwLy9jdy4ybzlyTnFOUTU2Ykt1UlZhZFprajN4Ry9IZUZrNTNX
uroborus:JDJhJDE0JDdqdmJCbHJFbDVhdWNaSUMuRVFsY2V4enZCSC9GUEQxQjZ4TDhYVnVDNHNHVFN2RElhdERX
roboime:JDJhJDE0JDlTbEw4Y1J0VU5YR2RiVVdUMDJTeS44cXhxcHJIV1BFYW5hcDdDMUJwZ3c2M3h0QnAyUFY2
robodragons:JDJhJDE0JGFwTVpONUZNaEV6WGdhbnhMcW9UQXVEU21BMHdvTHN4aUwzZnIxNUxwZUtnUnYzRHY3a1Yy
./config/caddy/generate_caddyfile.py
生成したファイルをもとにcaddyfileを再生成し、./config/caddy/update_caddy_config.sh
で動作中のコンテナに反映させます。
設定が完了したのでrobodragonsのコンテナを起動します。
$ docker-compose -f docker-compose-teams.yaml up -d team-robodragons
./caddy/install_local_CA.sh
コンテナの中にある証明書を取り出してホスト環境にインストールします。
memo: Ubuntu 20.04の場合、Chromeの設定でcaddy/local-ca.crt
をルート証明書として設定する必要がある。
ブラウザを再起動し(chromeの場合 chrome://restart にアクセスするのが簡単)、https://localhost にアクセスするとフィールドがあります。
サーバーは裏でずっと動いてるので(おそらくホストを再起動しても自動的に起動する)、テストが終わったらdocker-compose down -v --remove-orphans
でクリーンアップする必要があります。