Guacamoleとは
GuacamoleはApaccheが開発するWebベースのリモートアクセスアプリケーションだ。
サポートするプロトコルは VNC, RDP, SSHでHTML5をサポートするブラウザで動作する。
AndroidやiPhoneからでもRDP経由でWindowsを動作させることができ、利便性が高い。
Dockerでguacamoleを動かす
docker-compose
を用いて、guacamoleを動作させる。
データベースとしてpostgres
を利用しており、この領域はvolumeでマウントする。
Guacamoleはテレワーク環境として使われることも想定され、独自ドメインでインターネット公開する用途もありそう。
Let's encryptでhttps化を対応したdocker-compose.yml
を下記にしめす。
let's encryptはhttps-portal
コンテナで動作しており、nginxのリバースプロキシが動作している。
証明書の更新も自動で行ってくれるコンテナでメンテナンス不要だ。
version: "3" services: postgres: image: postgres:13.0 restart: unless-stopped environment: PGDATA: /var/lib/postgresql/data/guacamole POSTGRES_DB: guacamole_db POSTGRES_PASSWORD: guacamole1234567890 POSTGRES_USER: guacamole_user volumes: - ./pginit:/docker-entrypoint-initdb.d:z - ./pgdata:/var/lib/postgresql/data:z guacd: image: guacamole/guacd:1.2.0 restart: unless-stopped guacamole: image: guacamole/guacamole:1.2.0 restart: unless-stopped environment: GUACD_HOSTNAME: guacd POSTGRES_DATABASE: guacamole_db POSTGRES_HOSTNAME: postgres POSTGRES_PASSWORD: guacamole1234567890 POSTGRES_USER: guacamole_user depends_on: - postgres - guacd https-portal: image: steveltn/https-portal:1 ports: - '80:80' - '443:443' links: - guacamole restart: always volumes: - ./nginx:/var/lib/https-portal:z environment: DOMAINS: '<独自ドメイン.com> -> http://guacamole:8080/guacamole/' STAGE: 'production' # FORCE_RENEW: 'true'