From 537c2fc108f92c45a64905e62ddf3f57bc76bf0b Mon Sep 17 00:00:00 2001 From: MemoryShadow Date: Mon, 29 Jul 2024 06:35:06 +0000 Subject: [PATCH 01/12] perf: Use the.env file instead to modify docker-compose.yml --- .env.example | 13 ++++++++++ .gitignore | 1 + docker-compose.yml | 40 +++++++++++++++---------------- docs/quickstart/docker-install.md | 23 +++++++++++++----- 4 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..fcb6a56f --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +SERVICE_PORT=1081 +VOLUME_BASE=/data/orion-visor-space/docker-volumes +MYSQL_HOST=mysql +MYSQL_PORT=3306 +MYSQL_DATABASE=orion_visor +MYSQL_USER=orion +MYSQL_PASSWORD=Data@123456 +MYSQL_ROOT_PASSWORD=Data@123456 + +REDIS_HOST=redis +REDIS_PASSWORD=Data@123456 + +SECRET_KEY=uQeacXV8b3isvKLK \ No newline at end of file diff --git a/.gitignore b/.gitignore index c8088e13..35246529 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ build/ ### VS Code ### .vscode/ +.env diff --git a/docker-compose.yml b/docker-compose.yml index be588b1c..14f8a5e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,19 +4,19 @@ services: image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.1.2 privileged: true ports: - - 1081:80 + - ${SERVICE_PORT:-1081}:80 environment: - - 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 + - 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} volumes: - - /data/orion-visor-space/docker-volumes/service/root-orion:/root/orion + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion healthcheck: test: [ "CMD", "curl", "http://127.0.0.1:9200/orion-visor/api/server/bootstrap/health" ] interval: 3s @@ -37,14 +37,14 @@ services: ports: - 3307:3306 environment: - - MYSQL_DATABASE=orion_visor - - MYSQL_USER=orion - - MYSQL_PASSWORD=Data@123456 - - 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: - - /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 - - /data/orion-visor-space/docker-volumes/mysql/etc-mysql:/etc/mysql + - ${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 + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/mysql/etc-mysql:/etc/mysql healthcheck: test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306" ] interval: 3s @@ -57,9 +57,9 @@ services: ports: - 6380:6379 environment: - - REDIS_PASSWORD=Data@123456 + - REDIS_PASSWORD=${REDIS_PASSWORD:-Data@123456} volumes: - - /data/orion-visor-space/docker-volumes/redis/data:/data + - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/redis/data:/data command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" healthcheck: test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] diff --git a/docs/quickstart/docker-install.md b/docs/quickstart/docker-install.md index 1dc4f3fd..568e59a9 100644 --- a/docs/quickstart/docker-install.md +++ b/docs/quickstart/docker-install.md @@ -31,12 +31,23 @@ git clone https://gitee.com/lijiahangmax/orion-visor ``` # 进入仓库目录 cd orion-visor -# 修改 docker-compose.yml (建议修改) - # MYSQL_USER mysql 用户名 - # MYSQL_PASSWORD mysql 用户密码 - # MYSQL_ROOT_PASSWORD mysql root 密码 - # REDIS_PASSWORD redis 密码 - # SECRET_KEY 加密密钥 +# 创建名为 .env 的 .env.example 副本 +cp .env.example .env +# 将其中的值删除以保持默认或将其修改为你喜欢的值 + # SERVICE_PORT 你希望服务监听的端口 + # VOLUME_BASE 你希望数据持久化保存的目录, 如果不提前创建将以 docker 进程宿主身份创建(通常是 root) + + # MYSQL_HOST mysql 服务所在的主机, 如果你没有现有的 MySQL 请保持值为 mysql, 如果你有自部署的请在 docker-compose.yml 中移除 services.mysql 以节约性能 + # MYSQL_PORT mysql 监听的端口 + # MYSQL_DATABASE mysql 数据库 + # MYSQL_USER mysql 用户名 + # MYSQL_PASSWORD mysql 用户密码 + # MYSQL_ROOT_PASSWORD mysql root 密码 + + # REDIS_HOST redis 服务所在的主机, 如果你没有现有的 Redis 请保持值为 redis, 如果你有自部署的请在 docker-compose.yml 中移除 services.redis 以节约性能 + # REDIS_PASSWORD redis 密码 + + # SECRET_KEY 加密密钥 ``` ### 启动 From 1cbaf9c42402b66f1e1342f93129d929519b2ed1 Mon Sep 17 00:00:00 2001 From: MemoryShadow Date: Mon, 29 Jul 2024 06:39:47 +0000 Subject: [PATCH 02/12] docs: Clarify behavior semantics and accelerate deployment efficiency --- docs/quickstart/docker-install.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/quickstart/docker-install.md b/docs/quickstart/docker-install.md index 568e59a9..5482989c 100644 --- a/docs/quickstart/docker-install.md +++ b/docs/quickstart/docker-install.md @@ -21,12 +21,12 @@ Dashboard 修改) ```shell # github -git clone https://github.com/lijiahangmax/orion-visor +git clone --depth=1 https://github.com/lijiahangmax/orion-visor # gitee -git clone https://gitee.com/lijiahangmax/orion-visor +git clone --depth=1 https://gitee.com/lijiahangmax/orion-visor ``` -### 构建镜像 +### 拉取镜像 ``` # 进入仓库目录 @@ -48,6 +48,8 @@ cp .env.example .env # REDIS_PASSWORD redis 密码 # SECRET_KEY 加密密钥 +# 拉取远程镜像 +docker compose pull ``` ### 启动 @@ -56,7 +58,7 @@ cp .env.example .env docker compose up -d ``` -### 修改加密方式 +### 修改 MySQL 账户的加密方式 ``` 访问 adminer: http://localhost:8081 From 9a8d1d05cdd7db9061e559d7e604d89d0d0678d7 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Tue, 30 Jul 2024 14:40:15 +0800 Subject: [PATCH 03/12] =?UTF-8?q?:lipstick:=20=E4=BF=AE=E6=94=B9=E7=BB=88?= =?UTF-8?q?=E7=AB=AF=E6=A0=B7=E5=BC=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/style/host-terminal-layout.less | 2 +- .../general/terminal-interact-block.vue | 33 +++++++------------ .../general/terminal-plugins-block.vue | 12 +++---- .../general/terminal-session-block.vue | 5 +-- .../host/terminal/components/ssh/ssh-view.vue | 2 +- 5 files changed, 21 insertions(+), 33 deletions(-) diff --git a/orion-visor-ui/src/assets/style/host-terminal-layout.less b/orion-visor-ui/src/assets/style/host-terminal-layout.less index 4d89c0d1..076abde3 100644 --- a/orion-visor-ui/src/assets/style/host-terminal-layout.less +++ b/orion-visor-ui/src/assets/style/host-terminal-layout.less @@ -15,7 +15,7 @@ body { --color-bg-panel-tabs: var(--color-bg-panel); --color-bg-panel-tabs-active: #F9F9F9; --color-bg-panel-icon-1: #F5F5F5; - --color-bg-panel-bar: #F3F4F5; + --color-bg-panel-bar: #F0F0F0; --color-panel-text-1: var(--color-content-text-1); --color-panel-text-2: var(--color-content-text-3); --color-panel-gradient-start: rgba(218, 218, 218, 1); diff --git a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-interact-block.vue b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-interact-block.vue index 7ddf18f2..919a3fed 100644 --- a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-interact-block.vue +++ b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-interact-block.vue @@ -19,52 +19,43 @@ - + - + - + - + - + - + - - + - + @@ -73,13 +64,13 @@ - + - diff --git a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-plugins-block.vue b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-plugins-block.vue index 4fbf1de0..09e8bf58 100644 --- a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-plugins-block.vue +++ b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-plugins-block.vue @@ -11,25 +11,21 @@ - + - + - + - + diff --git a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-session-block.vue b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-session-block.vue index af792932..c4feeacb 100644 --- a/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-session-block.vue +++ b/orion-visor-ui/src/views/host/terminal/components/setting/general/terminal-session-block.vue @@ -11,14 +11,15 @@ - Date: Wed, 31 Jul 2024 00:42:02 +0800 Subject: [PATCH 04/12] =?UTF-8?q?:hammer:=20=E4=BF=AE=E6=94=B9=E7=BB=88?= =?UTF-8?q?=E7=AB=AF=E9=80=BB=E8=BE=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/store/modules/terminal/index.ts | 2 +- orion-visor-ui/src/utils/bell.ts | 13 ++++- .../asset/host-list/components/host-table.vue | 14 ++--- .../asset/host-list/types/table.columns.ts | 2 +- .../display/terminal-action-bar-block.vue | 2 - .../display/terminal-display-block.vue | 32 +++++++++--- .../display/terminal-right-menu-block.vue | 2 +- .../setting/theme/terminal-theme-block.vue | 20 ++++++-- .../host/terminal/handler/ssh-session.ts | 2 +- .../src/views/host/terminal/index.vue | 51 ++++++++++++++----- 10 files changed, 104 insertions(+), 36 deletions(-) diff --git a/orion-visor-ui/src/store/modules/terminal/index.ts b/orion-visor-ui/src/store/modules/terminal/index.ts index 03968619..68989af3 100644 --- a/orion-visor-ui/src/store/modules/terminal/index.ts +++ b/orion-visor-ui/src/store/modules/terminal/index.ts @@ -65,7 +65,7 @@ export default defineStore('terminal', { } as TerminalShortcutSetting, }, hosts: {} as AuthorizedHostQueryResponse, - tabManager: new TerminalTabManager(TerminalTabs.NEW_CONNECTION), + tabManager: new TerminalTabManager(), panelManager: new TerminalPanelManager(), sessionManager: new TerminalSessionManager(), transferManager: new SftpTransferManager(), diff --git a/orion-visor-ui/src/utils/bell.ts b/orion-visor-ui/src/utils/bell.ts index 4791660d..9d4681ca 100644 --- a/orion-visor-ui/src/utils/bell.ts +++ b/orion-visor-ui/src/utils/bell.ts @@ -1,9 +1,20 @@ +const Bell = 'data:audio/ogg;base64,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'; + +// 播放 +export const playBell = () => { + new Audio(Bell) + .play() + .catch(() => { + playBellHz(); + }); +}; + /** * 钟鸣 * @param frequency 蜂鸣器频率Hz * @param duration 持续时间 */ -export const playBell = (frequency: number = 400, duration: number = .15) => { +export const playBellHz = (frequency: number = 400, duration: number = .15) => { try { // 创建 AudioContext 对象 const audioCtx = new (window.AudioContext)(); diff --git a/orion-visor-ui/src/views/asset/host-list/components/host-table.vue b/orion-visor-ui/src/views/asset/host-list/components/host-table.vue index efacd20b..5b4f3657 100644 --- a/orion-visor-ui/src/views/asset/host-list/components/host-table.vue +++ b/orion-visor-ui/src/views/asset/host-list/components/host-table.vue @@ -180,6 +180,13 @@ @click="emits('openUpdate', record)"> 修改 + + + 配置 +