🐳 修改 docker 配置.
This commit is contained in:
@@ -34,3 +34,5 @@ INFLUXDB_PORT=8086
|
|||||||
INFLUXDB_ORG=orion-visor
|
INFLUXDB_ORG=orion-visor
|
||||||
INFLUXDB_BUCKET=metrics
|
INFLUXDB_BUCKET=metrics
|
||||||
INFLUXDB_TOKEN=Data@123456
|
INFLUXDB_TOKEN=Data@123456
|
||||||
|
INFLUXDB_ADMIN_USERNAME=admin
|
||||||
|
INFLUXDB_ADMIN_PASSWORD=Data@123456
|
||||||
|
|||||||
@@ -41,6 +41,10 @@ jobs:
|
|||||||
pnpm install
|
pnpm install
|
||||||
pnpm build
|
pnpm build
|
||||||
|
|
||||||
|
- name: 📦️ Download instant-agent
|
||||||
|
working-directory: ./docker/service
|
||||||
|
run: wget https://github.com/lijiahangmax/orion-visor-agent/releases/latest/download/instance-agent-release.tar.gz -O instance-agent-release.tar.gz
|
||||||
|
|
||||||
- name: 📁 Prepare build context
|
- name: 📁 Prepare build context
|
||||||
run: |
|
run: |
|
||||||
cp -r ./sql ./docker/mysql/sql
|
cp -r ./sql ./docker/mysql/sql
|
||||||
@@ -62,7 +66,7 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
service: [ adminer, guacd, mysql, redis, service, ui ]
|
service: [ adminer, guacd, mysql, redis, influxdb, service, ui ]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GITHUB_REGISTRY: ghcr.io
|
GITHUB_REGISTRY: ghcr.io
|
||||||
2
.github/workflows/e2e.yaml
vendored
2
.github/workflows/e2e.yaml
vendored
@@ -18,4 +18,4 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
|
sudo curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
|
||||||
sudo chmod u+x /usr/local/bin/docker-compose
|
sudo chmod u+x /usr/local/bin/docker-compose
|
||||||
docker compose -f docker-compose-testing.yml up --build testing --exit-code-from testing --remove-orphans
|
docker compose -f docker-compose-testing.yaml up --build testing --exit-code-from testing --remove-orphans
|
||||||
|
|||||||
@@ -35,10 +35,18 @@ services:
|
|||||||
REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456}
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456}
|
||||||
REDIS_DATABASE: ${REDIS_DATABASE:-0}
|
REDIS_DATABASE: ${REDIS_DATABASE:-0}
|
||||||
REDIS_DATA_VERSION: ${REDIS_DATA_VERSION:-1}
|
REDIS_DATA_VERSION: ${REDIS_DATA_VERSION:-1}
|
||||||
|
INFLUXDB_ENABLED: ${INFLUXDB_ENABLED:-true}
|
||||||
|
INFLUXDB_HOST: ${INFLUXDB_HOST:-influxdb}
|
||||||
|
INFLUXDB_PORT: ${INFLUXDB_PORT:-8086}
|
||||||
|
INFLUXDB_ORG: ${INFLUXDB_ORG:-orion-visor}
|
||||||
|
INFLUXDB_BUCKET: ${INFLUXDB_BUCKET:-metrics}
|
||||||
|
INFLUXDB_TOKEN: ${INFLUXDB_TOKEN:-Data@123456}
|
||||||
GUACD_HOST: ${GUACD_HOST:-guacd}
|
GUACD_HOST: ${GUACD_HOST:-guacd}
|
||||||
GUACD_PORT: ${GUACD_PORT:-4822}
|
GUACD_PORT: ${GUACD_PORT:-4822}
|
||||||
GUACD_DRIVE_PATH: ${GUACD_DRIVE_PATH:-/drive}
|
GUACD_DRIVE_PATH: ${GUACD_DRIVE_PATH:-/drive}
|
||||||
SECRET_KEY: ${SECRET_KEY:-uQeacXV8b3isvKLK}
|
SECRET_KEY: ${SECRET_KEY:-pmqeHOyZaumHm0Wt}
|
||||||
|
API_EXPOSE_TOKEN: ${API_EXPOSE_TOKEN:-uQeacXV8b3isvKLK}
|
||||||
|
API_CORS: ${API_CORS:-true}
|
||||||
DEMO_MODE: ${DEMO_MODE:-false}
|
DEMO_MODE: ${DEMO_MODE:-false}
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion
|
- ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion
|
||||||
@@ -54,6 +62,8 @@ services:
|
|||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
redis:
|
redis:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
influxdb:
|
||||||
|
condition: service_healthy
|
||||||
networks:
|
networks:
|
||||||
- orion-visor-net
|
- orion-visor-net
|
||||||
|
|
||||||
@@ -100,6 +110,31 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- orion-visor-net
|
- orion-visor-net
|
||||||
|
|
||||||
|
influxdb:
|
||||||
|
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-influxdb:latest
|
||||||
|
privileged: true
|
||||||
|
ports:
|
||||||
|
- "8086:8086"
|
||||||
|
environment:
|
||||||
|
DOCKER_INFLUXDB_INIT_MODE: setup
|
||||||
|
DOCKER_INFLUXDB_INIT_USERNAME: ${INFLUXDB_ADMIN_USERNAME:-admin}
|
||||||
|
DOCKER_INFLUXDB_INIT_PASSWORD: ${INFLUXDB_ADMIN_PASSWORD:-Data@123456}
|
||||||
|
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${INFLUXDB_TOKEN:-Data@123456}
|
||||||
|
DOCKER_INFLUXDB_INIT_ORG: ${INFLUXDB_ORG:-orion-visor}
|
||||||
|
DOCKER_INFLUXDB_INIT_BUCKET: ${INFLUXDB_BUCKET:-metrics}
|
||||||
|
volumes:
|
||||||
|
- ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/influxdb/data:/var/lib/influxdb2
|
||||||
|
- ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/influxdb/config:/etc/influxdb2
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/8086" ]
|
||||||
|
interval: 15s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
networks:
|
||||||
|
- orion-visor-net
|
||||||
|
|
||||||
guacd:
|
guacd:
|
||||||
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest
|
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest
|
||||||
ports:
|
ports:
|
||||||
@@ -46,6 +46,7 @@ declare -A images=(
|
|||||||
["./service/Dockerfile"]="orion-visor-service"
|
["./service/Dockerfile"]="orion-visor-service"
|
||||||
["./mysql/Dockerfile"]="orion-visor-mysql"
|
["./mysql/Dockerfile"]="orion-visor-mysql"
|
||||||
["./redis/Dockerfile"]="orion-visor-redis"
|
["./redis/Dockerfile"]="orion-visor-redis"
|
||||||
|
["./influxdb/Dockerfile"]="orion-visor-influxdb"
|
||||||
["./adminer/Dockerfile"]="orion-visor-adminer"
|
["./adminer/Dockerfile"]="orion-visor-adminer"
|
||||||
["./guacd/Dockerfile"]="orion-visor-guacd"
|
["./guacd/Dockerfile"]="orion-visor-guacd"
|
||||||
)
|
)
|
||||||
@@ -68,6 +69,30 @@ function prepare_app_jar() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 准备 instance-agent
|
||||||
|
function prepare_instance_agent() {
|
||||||
|
local target_file="./service/instance-agent-release.tar.gz"
|
||||||
|
if [ ! -f "$target_file" ]; then
|
||||||
|
echo "警告: $target_file 不存在, 正在尝试从 Github Release 下载..."
|
||||||
|
# 尝试从 GitHub Release 下载
|
||||||
|
if curl -L --fail \
|
||||||
|
--connect-timeout 30 --max-time 30 \
|
||||||
|
https://github.com/lijiahangmax/orion-visor-agent/releases/latest/download/instance-agent-release.tar.gz \
|
||||||
|
-o "$target_file"; then
|
||||||
|
echo "已成功下载到 $target_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 如果下载失败, 提示用户手动下载
|
||||||
|
echo "错误: 无法从 Release 获取 instance-agent-release.tar.gz"
|
||||||
|
echo "请手动从以下地址下载, 并放置到 $target_file"
|
||||||
|
echo " 1) https://github.com/lijiahangmax/orion-visor-agent/raw/main/instance-agent-release.tar.gz"
|
||||||
|
echo " 2) https://gitee.com/lijiahangmax/orion-visor-agent/raw/main/instance-agent-release.tar.gz"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "$target_file 已存在, 无需下载."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# 准备前端 dist 目录
|
# 准备前端 dist 目录
|
||||||
function prepare_dist_directory() {
|
function prepare_dist_directory() {
|
||||||
local source_dir="../orion-visor-ui/dist"
|
local source_dir="../orion-visor-ui/dist"
|
||||||
@@ -185,6 +210,7 @@ fi
|
|||||||
# 检查资源
|
# 检查资源
|
||||||
echo "正在检查并准备必要的构建资源..."
|
echo "正在检查并准备必要的构建资源..."
|
||||||
prepare_app_jar
|
prepare_app_jar
|
||||||
|
prepare_instance_agent
|
||||||
prepare_dist_directory
|
prepare_dist_directory
|
||||||
prepare_sql_directory
|
prepare_sql_directory
|
||||||
echo "所有前置资源已准备完毕"
|
echo "所有前置资源已准备完毕"
|
||||||
|
|||||||
8
docker/influxdb/Dockerfile
Normal file
8
docker/influxdb/Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
FROM --platform=$TARGETPLATFORM influxdb:2
|
||||||
|
|
||||||
|
# 系统时区
|
||||||
|
ARG TZ=Asia/Shanghai
|
||||||
|
|
||||||
|
# 设置时区
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \
|
||||||
|
echo "${TZ}" > /etc/timezone
|
||||||
@@ -24,7 +24,7 @@ RUN chmod +x /app/entrypoint.sh
|
|||||||
# 复制 jar 包
|
# 复制 jar 包
|
||||||
COPY ./service/orion-visor-launch.jar /app/app.jar
|
COPY ./service/orion-visor-launch.jar /app/app.jar
|
||||||
# 复制探针包
|
# 复制探针包
|
||||||
ADD ./service./instant-agent-release.tar.gz /app/instant-agent-release
|
ADD ./service/instant-agent-release.tar.gz /app/instant-agent-release
|
||||||
|
|
||||||
# 启动检测
|
# 启动检测
|
||||||
HEALTHCHECK --interval=15s --timeout=5s --retries=5 --start-period=10s \
|
HEALTHCHECK --interval=15s --timeout=5s --retries=5 --start-period=10s \
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
AGENT_RELEASE_DIR="/root/orion/visor/instant-agent-release"
|
AGENT_RELEASE_DIR="/root/orion/orion-visor/instant-agent-release"
|
||||||
DEFAULT_AGENT_DIR="/app/instant-agent-release"
|
DEFAULT_AGENT_DIR="/app/instant-agent-release"
|
||||||
|
|
||||||
# 确保父目录存在
|
# 确保父目录存在
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ import java.lang.annotation.*;
|
|||||||
/**
|
/**
|
||||||
* 不执行统一日志打印
|
* 不执行统一日志打印
|
||||||
* <p>
|
* <p>
|
||||||
* 如果设置在方法上,则忽略该方法的日志打印
|
* 如果设置在方法上, 则忽略该方法的日志打印
|
||||||
* 如果设置到参数上,则忽略该参数的日志打印
|
* 如果设置到参数上, 则忽略该参数的日志打印
|
||||||
*
|
*
|
||||||
* @author Jiahang Li
|
* @author Jiahang Li
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ public class ReplaceVersion {
|
|||||||
private static final String[] DOCKER_FILES = new String[]{
|
private static final String[] DOCKER_FILES = new String[]{
|
||||||
"docker/docker-build.sh",
|
"docker/docker-build.sh",
|
||||||
"docker/project-build.sh",
|
"docker/project-build.sh",
|
||||||
"docker-compose.yml",
|
"docker-compose.yaml",
|
||||||
"docker-compose-testing.yml"
|
"docker-compose-testing.yaml"
|
||||||
};
|
};
|
||||||
|
|
||||||
private static final String[] POM_FILES = new String[]{
|
private static final String[] POM_FILES = new String[]{
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
checked-text="开启"
|
checked-text="开启"
|
||||||
unchecked-text="关闭" />
|
unchecked-text="关闭" />
|
||||||
<template #extra>
|
<template #extra>
|
||||||
开启后当凭证即将过期时,系统会自动续签
|
开启后当凭证即将过期时, 系统会自动续签
|
||||||
</template>
|
</template>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- 登录失败锁定 -->
|
<!-- 登录失败锁定 -->
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
<template #extra>
|
<template #extra>
|
||||||
当登录凭证过期但未超过续签间隔时,系统会自动续签
|
当登录凭证过期但未超过续签间隔时, 系统会自动续签
|
||||||
</template>
|
</template>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- 凭证续签最大次数 -->
|
<!-- 凭证续签最大次数 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user