docker composeでApache Guacamoleを構築する

docker composeでApache Guacamoleを構築する

docker composeを使ってApache Guacamoleを構築するまでの手順を記述してます。

環境

  • OS ubuntu20.10
  • docker 20.10.3
  • docker-compose 1.27.4

docker-compose.yml作成

gitから入手します。

git clone "https://github.com/boschkundendienst/guacamole-docker-compose.git"

移動します。

cd guacamole-docker-compose

docker-compose.ymlの内容は以下となってます。必要に応じてパスワードなどを変更してください。

version: "3"

services:
  guacd:
    container_name: my-guacd
    image: guacamole/guacd
    restart: alwaysc

  guacamole_db:
    container_name: my-guacamole-db
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: guacamole_root_password # NEED TO CHANGE
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guacamole_user_password # NEED TO CHANGE
    volumes:
      - ./dbdata:/var/lib/mysql
      - ./dbinit:/docker-entrypoint-initdb.d

  guacamole:
    container_name: my-guacamole
    image: guacamole/guacamole
    restart: always
    environment:
      GUACD_HOSTNAME: my-guacd
      MYSQL_HOSTNAME: my-guacamole-db
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guacamole_user_password # NEED TO CHANGE
      GUACAMOLE_HOME: /guacamole-home
    volumes:
      - ./home:/guacamole-home
    depends_on:
      - guacamole_db
      - guacd
    ports:
      - "8080:8080"

Apache Guacamole構築

データベースに必要な初期化ファイルを作成します。

./prepare.sh

shの内容は以下となります。

#!/bin/sh
#
echo "Preparing folder init and creating ./init/initdb.sql"
mkdir ./init >/dev/null 2>&1
mkdir -p ./nginx/ssl >/dev/null 2>&1
chmod -R +x ./init
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > ./init/initdb.sql
echo "done"
echo "Creating SSL certificates"
openssl req -nodes -newkey rsa:2048 -new -x509 -keyout nginx/ssl/self-ssl.key -out nginx/ssl/self.cert -subj '/C=DE/ST=BY/L=Hintertupfing/O=Dorfwirt/OU=Theke/CN=www.createyourown.domain/emailAddress=docker@createyourown.domain'
echo "You can use your own certificates by placing the private key in nginx/ssl/self-ssl.key and the cert in nginx/ssl/self.cert"
echo "done"

構築します。

docker-compose up -d

Apache Guacamole確認

ブラウザから https://プライベートIP or サーバーアドレス:8443 にアクセスします。

guacadmin / guacadminでログインします。

ログイン後の画面となります。