From 5183b7ccb47a89812189ab3062fd6eb45713b556 Mon Sep 17 00:00:00 2001 From: lijiahangmax Date: Wed, 25 Jun 2025 12:16:33 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E6=B7=BB=E5=8A=A0=20guacd=20=E9=95=9C?= =?UTF-8?q?=E5=83=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 3 ++ docker-compose-testing.yml | 30 ++++++++++---------- docker-compose.yml | 58 +++++++++++++++++++++++++++----------- docker/guacd/Dockerfile | 1 + docker/guacd/build.sh | 6 ++++ docker/push.sh | 2 ++ 6 files changed, 69 insertions(+), 31 deletions(-) create mode 100644 docker/guacd/Dockerfile create mode 100644 docker/guacd/build.sh diff --git a/.env.example b/.env.example index 95a1cb98..c9158c56 100644 --- a/.env.example +++ b/.env.example @@ -14,4 +14,7 @@ MYSQL_ROOT_PASSWORD=Data@123456 REDIS_HOST=redis REDIS_PASSWORD=Data@123456 +GUACD_HOST=guacd +GUACD_PORT=4822 + DEMO_MODE=false diff --git a/docker-compose-testing.yml b/docker-compose-testing.yml index 2d69f718..8f04b4fd 100644 --- a/docker-compose-testing.yml +++ b/docker-compose-testing.yml @@ -7,16 +7,16 @@ services: ports: - 9200:9200 environment: - - SPRING_PROFILES_ACTIVE=prod - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL_DATABASE=orion_visor - - MYSQL_USER=root - - MYSQL_PASSWORD=Data@123456 - - REDIS_HOST=redis - - REDIS_PASSWORD=Data@123456 - - SECRET_KEY=uQeacXV8b3isvKLK - - DEMO_MODE=false + SPRING_PROFILES_ACTIVE: prod + MYSQL_HOST: mysql + MYSQL_PORT: 3306 + MYSQL_DATABASE: orion_visor + MYSQL_USER: root + MYSQL_PASSWORD: Data@123456 + REDIS_HOST: redis + REDIS_PASSWORD: Data@123456 + SECRET_KEY: uQeacXV8b3isvKLK + DEMO_MODE: false volumes: - /data/orion-visor-space/docker-volumes/service/root-orion:/root/orion healthcheck: @@ -39,10 +39,10 @@ services: ports: - 3307:3306 environment: - - MYSQL_DATABASE=orion_visor - - MYSQL_USER=orion - - MYSQL_PASSWORD=Data@123456 - - MYSQL_ROOT_PASSWORD=Data@123456 + MYSQL_DATABASE: orion_visor + MYSQL_USER: orion + MYSQL_PASSWORD: Data@123456 + MYSQL_ROOT_PASSWORD: Data@123456 volumes: - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql:/var/lib/mysql - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql-files:/var/lib/mysql-files @@ -61,7 +61,7 @@ services: ports: - 6380:6379 environment: - - REDIS_PASSWORD=Data@123456 + REDIS_PASSWORD: Data@123456 volumes: - /data/orion-visor-space/docker-volumes/redis/data:/data command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" diff --git a/docker-compose.yml b/docker-compose.yml index 554775f9..5a6735c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,16 +18,19 @@ services: ports: - 9200:9200 environment: - - SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod} - - MYSQL_HOST=${MYSQL_HOST:-mysql} - - MYSQL_PORT=${MYSQL_PORT:-3306} - - MYSQL_DATABASE=${MYSQL_DATABASE:-orion_visor} - - MYSQL_USER=${MYSQL_USER:-root} - - MYSQL_PASSWORD=${MYSQL_PASSWORD:-Data@123456} - - REDIS_HOST=${REDIS_HOST:-redis} - - REDIS_PASSWORD=${REDIS_PASSWORD:-Data@123456} - - SECRET_KEY=${SECRET_KEY:-uQeacXV8b3isvKLK} - - DEMO_MODE=${DEMO_MODE:-false} + SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-prod} + MYSQL_HOST: ${MYSQL_HOST:-mysql} + MYSQL_PORT: ${MYSQL_PORT:-3306} + MYSQL_DATABASE: ${MYSQL_DATABASE:-orion_visor} + MYSQL_USER: ${MYSQL_USER:-root} + MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Data@123456} + REDIS_HOST: ${REDIS_HOST:-redis} + REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456} + GUACD_HOST: ${GUACD_HOST:-guacd} + GUACD_PORT: ${GUACD_PORT:-4822} + GUACD_DRIVE_PATH: ${GUACD_DRIVE_PATH:/drive} + SECRET_KEY: ${SECRET_KEY:-uQeacXV8b3isvKLK} + DEMO_MODE: ${DEMO_MODE:-false} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion restart: unless-stopped @@ -51,10 +54,10 @@ services: ports: - 3307:3306 environment: - - MYSQL_DATABASE=${MYSQL_DATABASE:-orion_visor} - - MYSQL_USER=${MYSQL_USER:-orion} - - MYSQL_PASSWORD=${MYSQL_PASSWORD:-Data@123456} - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-Data@123456} + MYSQL_DATABASE: ${MYSQL_DATABASE:-orion_visor} + MYSQL_USER: ${MYSQL_USER:-orion} + MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Data@123456} + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Data@123456} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/mysql/var-lib-mysql:/var/lib/mysql - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/mysql/var-lib-mysql-files:/var/lib/mysql-files @@ -74,7 +77,7 @@ services: ports: - 6380:6379 environment: - - REDIS_PASSWORD=${REDIS_PASSWORD:-Data@123456} + REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/redis/data:/data command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" @@ -88,12 +91,35 @@ services: networks: - orion-visor-net + guacd: + image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest + ports: + - 4822:4822 + environment: + GUACD_LOG_LEVEL: info + GUACD_LOG_FILE: /var/log/guacd.log + volumes: + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/drive:/drive + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/record:/record + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/var-logs:/var/log + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/local-guacamole-lib:/usr/local/guacamole/lib + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/local-guacamole-extensions:/usr/local/guacamole/extensions + restart: unless-stopped + healthcheck: + test: [ "CMD", "nc", "-vz", "localhost", "4822" ] + interval: 15s + timeout: 5s + retries: 10 + start_period: 10s + networks: + - orion-visor-net + adminer: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest ports: - 8081:8080 environment: - - ADMINER_DEFAULT_SERVER=${MYSQL_HOST:-mysql} + ADMINER_DEFAULT_SERVER: ${MYSQL_HOST:-mysql} depends_on: mysql: condition: service_healthy diff --git a/docker/guacd/Dockerfile b/docker/guacd/Dockerfile new file mode 100644 index 00000000..f9e67f68 --- /dev/null +++ b/docker/guacd/Dockerfile @@ -0,0 +1 @@ +FROM guacamole/guacd:1.5.5 diff --git a/docker/guacd/build.sh b/docker/guacd/build.sh new file mode 100644 index 00000000..46a86d07 --- /dev/null +++ b/docker/guacd/build.sh @@ -0,0 +1,6 @@ +#/bin/bash +set -e +version=1.0.0 +docker build -t orion-visor-guacd:${version} . +docker tag orion-visor-guacd:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:${version} +docker tag orion-visor-guacd:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest diff --git a/docker/push.sh b/docker/push.sh index e1797e5e..4baba7e7 100644 --- a/docker/push.sh +++ b/docker/push.sh @@ -4,10 +4,12 @@ version=2.3.9 docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:${version} +docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-ui:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:latest docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest +docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:latest docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-ui:latest