🐳 修改 docker 配置.
This commit is contained in:
@@ -34,3 +34,5 @@ INFLUXDB_PORT=8086
|
||||
INFLUXDB_ORG=orion-visor
|
||||
INFLUXDB_BUCKET=metrics
|
||||
INFLUXDB_TOKEN=Data@123456
|
||||
INFLUXDB_ADMIN_USERNAME=admin
|
||||
INFLUXDB_ADMIN_PASSWORD=Data@123456
|
||||
|
||||
@@ -41,6 +41,10 @@ jobs:
|
||||
pnpm install
|
||||
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
|
||||
run: |
|
||||
cp -r ./sql ./docker/mysql/sql
|
||||
@@ -62,7 +66,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
service: [ adminer, guacd, mysql, redis, service, ui ]
|
||||
service: [ adminer, guacd, mysql, redis, influxdb, service, ui ]
|
||||
|
||||
env:
|
||||
GITHUB_REGISTRY: ghcr.io
|
||||
2
.github/workflows/e2e.yaml
vendored
2
.github/workflows/e2e.yaml
vendored
@@ -18,4 +18,4 @@ jobs:
|
||||
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 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_DATABASE: ${REDIS_DATABASE:-0}
|
||||
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_PORT: ${GUACD_PORT:-4822}
|
||||
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}
|
||||
volumes:
|
||||
- ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion
|
||||
@@ -54,6 +62,8 @@ services:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
influxdb:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- orion-visor-net
|
||||
|
||||
@@ -100,6 +110,31 @@ services:
|
||||
networks:
|
||||
- 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:
|
||||
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest
|
||||
ports:
|
||||
@@ -46,6 +46,7 @@ declare -A images=(
|
||||
["./service/Dockerfile"]="orion-visor-service"
|
||||
["./mysql/Dockerfile"]="orion-visor-mysql"
|
||||
["./redis/Dockerfile"]="orion-visor-redis"
|
||||
["./influxdb/Dockerfile"]="orion-visor-influxdb"
|
||||
["./adminer/Dockerfile"]="orion-visor-adminer"
|
||||
["./guacd/Dockerfile"]="orion-visor-guacd"
|
||||
)
|
||||
@@ -68,6 +69,30 @@ function prepare_app_jar() {
|
||||
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 目录
|
||||
function prepare_dist_directory() {
|
||||
local source_dir="../orion-visor-ui/dist"
|
||||
@@ -185,6 +210,7 @@ fi
|
||||
# 检查资源
|
||||
echo "正在检查并准备必要的构建资源..."
|
||||
prepare_app_jar
|
||||
prepare_instance_agent
|
||||
prepare_dist_directory
|
||||
prepare_sql_directory
|
||||
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 包
|
||||
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 \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/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"
|
||||
|
||||
# 确保父目录存在
|
||||
|
||||
@@ -29,8 +29,8 @@ import java.lang.annotation.*;
|
||||
/**
|
||||
* 不执行统一日志打印
|
||||
* <p>
|
||||
* 如果设置在方法上,则忽略该方法的日志打印
|
||||
* 如果设置到参数上,则忽略该参数的日志打印
|
||||
* 如果设置在方法上, 则忽略该方法的日志打印
|
||||
* 如果设置到参数上, 则忽略该参数的日志打印
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
|
||||
@@ -48,8 +48,8 @@ public class ReplaceVersion {
|
||||
private static final String[] DOCKER_FILES = new String[]{
|
||||
"docker/docker-build.sh",
|
||||
"docker/project-build.sh",
|
||||
"docker-compose.yml",
|
||||
"docker-compose-testing.yml"
|
||||
"docker-compose.yaml",
|
||||
"docker-compose-testing.yaml"
|
||||
};
|
||||
|
||||
private static final String[] POM_FILES = new String[]{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
checked-text="开启"
|
||||
unchecked-text="关闭" />
|
||||
<template #extra>
|
||||
开启后当凭证即将过期时,系统会自动续签
|
||||
开启后当凭证即将过期时, 系统会自动续签
|
||||
</template>
|
||||
</a-form-item>
|
||||
<!-- 登录失败锁定 -->
|
||||
@@ -105,7 +105,7 @@
|
||||
</template>
|
||||
</a-input-number>
|
||||
<template #extra>
|
||||
当登录凭证过期但未超过续签间隔时,系统会自动续签
|
||||
当登录凭证过期但未超过续签间隔时, 系统会自动续签
|
||||
</template>
|
||||
</a-form-item>
|
||||
<!-- 凭证续签最大次数 -->
|
||||
|
||||
Reference in New Issue
Block a user