From 1f02e3fc867665de7770c1b9e94644bd37fb69a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B0=8F=E7=99=BD?= <296015668@qq.com> Date: Wed, 2 Aug 2023 16:59:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20JumpServer=20?= =?UTF-8?q?=E5=BA=94=E7=94=A8=20(#238)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 添加 JumpServer 应用 --- apps/jumpserver/README.md | 52 ++++++++ apps/jumpserver/data.yml | 19 +++ apps/jumpserver/logo.png | Bin 0 -> 16471 bytes apps/jumpserver/v3.4.3/data.yml | 140 ++++++++++++++++++++++ apps/jumpserver/v3.4.3/docker-compose.yml | 92 ++++++++++++++ 5 files changed, 303 insertions(+) create mode 100644 apps/jumpserver/README.md create mode 100644 apps/jumpserver/data.yml create mode 100644 apps/jumpserver/logo.png create mode 100644 apps/jumpserver/v3.4.3/data.yml create mode 100644 apps/jumpserver/v3.4.3/docker-compose.yml diff --git a/apps/jumpserver/README.md b/apps/jumpserver/README.md new file mode 100644 index 00000000..afc44377 --- /dev/null +++ b/apps/jumpserver/README.md @@ -0,0 +1,52 @@ +

+ JumpServer +

+

广受欢迎的开源堡垒机

+ +

+ License: GPLv3 + Docker pulls + Latest release + Stars +

+ + +

+ JumpServer v3.0 正式发布。 +
+ 9 年时间,倾情投入,用心做好一款开源堡垒机。 +

+ + +JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 堡垒机帮助企业以更安全的方式管控和登录各种类型的资产,包括: + +- **SSH**: Linux / Unix / 网络设备 等; +- **Windows**: Web 方式连接 / 原生 RDP 连接; +- **数据库**: MySQL / Oracle / SQLServer / PostgreSQL 等; +- **Kubernetes**: 支持连接到 K8s 集群中的 Pods; +- **Web 站点**: 各类系统的 Web 管理后台; +- **应用**: 通过 Remote App 连接各类应用。 + +## 产品特色 + +- **开源**: 零门槛,线上快速获取和安装; +- **无插件**: 仅需浏览器,极致的 Web Terminal 使用体验; +- **分布式**: 支持分布式部署和横向扩展,轻松支持大规模并发访问; +- **多云支持**: 一套系统,同时管理不同云上面的资产; +- **多租户**: 一套系统,多个子公司或部门同时使用; +- **云端存储**: 审计录像云端存储,永不丢失; + +## UI 展示 + +![UI展示](https://docs.jumpserver.org/zh/v3/img/dashboard.png) + +## 在线体验 + +- 环境地址: + +## 快速开始 + +- [快速入门](https://docs.jumpserver.org/zh/v3/quick_start/) +- [产品文档](https://docs.jumpserver.org) +- [在线学习](https://edu.fit2cloud.com/page/2635362) +- [知识库](https://kb.fit2cloud.com/categories/jumpserver) \ No newline at end of file diff --git a/apps/jumpserver/data.yml b/apps/jumpserver/data.yml new file mode 100644 index 00000000..4b109403 --- /dev/null +++ b/apps/jumpserver/data.yml @@ -0,0 +1,19 @@ +name: JumpServer +tags: + - 工具 +title: JumpServer 开源堡垒机 +type: 工具 +description: JumpServer 开源堡垒机 +additionalProperties: + key: jumpserver + name: JumpServer + tags: + - Tool + shortDescZh: JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。 + shortDescEn: JumpServer is the world's first open-source Bastion Host and is licensed under the GPLv3. + type: tool + crossVersionUpdate: true + limit: 1 + website: https://www.jumpserver.org + github: https://github.com/jumpserver/jumpserver + document: https://docs.jumpserver.org \ No newline at end of file diff --git a/apps/jumpserver/logo.png b/apps/jumpserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca19d05b8d766c97e7c07963379964b5907fbbc GIT binary patch literal 16471 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 literal 0 KcmV+b0RR6000031 diff --git a/apps/jumpserver/v3.4.3/data.yml b/apps/jumpserver/v3.4.3/data.yml new file mode 100644 index 00000000..2c5c4bce --- /dev/null +++ b/apps/jumpserver/v3.4.3/data.yml @@ -0,0 +1,140 @@ +additionalProperties: + formFields: + - default: ./data + edit: true + envKey: VOLUME_DIR + labelEn: Data directory + labelZh: 数据目录 + required: true + type: text + - default: vYneAbsXUhe4BghEeedNL7nfWLwaTTmhnwQMvjYOIG25Ofzghk + edit: true + envKey: SECRET_KEY + labelEn: Cryptographic signing + labelZh: 加密签名 + required: true + type: password + - default: K1ffDfLSIK8SV2PZj6VaxOiv8KuawlJK + edit: true + envKey: BOOTSTRAP_TOKEN + labelEn: Bootstrap token + labelZh: 认证令牌 + required: true + type: password + - default: "false" + envKey: DEBUG + labelEn: Debug mode + labelZh: 调试模式 + required: true + type: select + values: + - label: 开启 + value: "true" + - label: 关闭 + value: "false" + - default: "ERROR" + envKey: LOG_LEVEL + labelEn: Log level + labelZh: 日志级别 + required: true + type: select + values: + - label: DEBUG + value: "DEBUG" + - label: INFO + value: "INFO" + - label: WARNING + value: "WARNING" + - label: ERROR + value: "ERROR" + - label: CRITICAL + value: "CRITICAL" + - default: jms_mysql + disabled: true + envKey: DB_HOST + labelEn: Database host + labelZh: 数据库主机 + type: text + - default: 3306 + disabled: true + envKey: DB_PORT + labelEn: Database port + labelZh: 数据库端口 + rule: paramPort + type: number + - default: root + disabled: true + envKey: DB_USER + labelEn: Database user + labelZh: 数据库用户 + type: text + - default: Np2qgqtiUayA857GpuVI0Wtg + edit: true + envKey: DB_PASSWORD + labelEn: Database password + labelZh: 数据库密码 + required: true + type: password + - default: jumpserver + envKey: DB_NAME + labelEn: Database name + labelZh: 数据库名称 + required: true + type: text + - default: jms_redis + disabled: true + envKey: REDIS_HOST + labelEn: Redis host + labelZh: Redis 主机 + type: text + - default: 6379 + disabled: true + envKey: REDIS_PORT + labelEn: Redis port + labelZh: Redis 端口 + rule: paramPort + type: number + - default: KoJqlTDu1d5HwfXgJ4QTbZQt + edit: true + envKey: REDIS_PASSWORD + labelEn: Redis password + labelZh: Redis 密码 + required: true + type: password + - default: 80 + edit: true + envKey: HTTP_PORT + labelEn: JumpServer Web port + labelZh: JumpServer Web 端口 + required: true + rule: paramPort + type: number + - default: 2222 + edit: true + envKey: SSH_PORT + labelEn: JumpServer SSH port + labelZh: JumpServer SSH 端口 + required: true + rule: paramPort + type: number + - default: 33061 + edit: true + envKey: MAGNUS_MYSQL_PORT + labelEn: Magnus MySQL port + labelZh: Magnus MySQL 端口 + rule: paramPort + type: number + - default: 33062 + edit: true + envKey: MAGNUS_MARIADB_PORT + labelEn: Magnus MariaDB port + labelZh: Magnus MariaDB 端口 + rule: paramPort + type: number + - default: 63790 + edit: true + envKey: MAGNUS_REDIS_PORT + labelEn: Magnus Redis port + labelZh: Magnus Redis 端口 + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/jumpserver/v3.4.3/docker-compose.yml b/apps/jumpserver/v3.4.3/docker-compose.yml new file mode 100644 index 00000000..9da0dbc8 --- /dev/null +++ b/apps/jumpserver/v3.4.3/docker-compose.yml @@ -0,0 +1,92 @@ +version: '3.8' +services: + jms_mysql: + image: mariadb:10.6 + restart: always + labels: + createdBy: "Apps" + environment: + MARIADB_ROOT_PASSWORD: ${DB_PASSWORD} + MARIADB_DATABASE: ${DB_NAME} + healthcheck: + test: "mysql -h127.0.0.1 -uroot -p$$MARIADB_ROOT_PASSWORD -e 'SHOW DATABASES;'" + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + volumes: + - ${VOLUME_DIR}/mariadb/data:/var/lib/mysql + networks: + - 1panel-network + + jms_redis: + image: redis:6.2 + restart: always + labels: + createdBy: "Apps" + command: redis-server --requirepass ${REDIS_PASSWORD} --maxmemory-policy allkeys-lru + environment: + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: "redis-cli -h 127.0.0.1 -a $$REDIS_PASSWORD info Replication" + interval: 10s + timeout: 5s + retries: 3 + start_period: 10s + volumes: + - ${VOLUME_DIR}/redis/data:/data + networks: + - 1panel-network + + jms_all: + image: jumpserver/jms_all:v3.4.3 + container_name: ${CONTAINER_NAME} + privileged: true + restart: always + labels: + createdBy: "Apps" + environment: + SECRET_KEY: ${SECRET_KEY} + BOOTSTRAP_TOKEN: ${BOOTSTRAP_TOKEN} + DEBUG: ${DEBUG:-FALSE} + LOG_LEVEL: ${LOG_LEVEL} + DB_HOST: ${DB_HOST} + DB_PORT: ${DB_PORT} + DB_USER: ${DB_USER} + DB_PASSWORD: ${DB_PASSWORD} + DB_NAME: ${DB_NAME} + REDIS_HOST: ${REDIS_HOST} + REDIS_PORT: ${REDIS_PORT} + REDIS_PASSWORD: ${REDIS_PASSWORD} + MAGNUS_MYSQL_PORT: ${MAGNUS_MYSQL_PORT} + MAGNUS_MARIADB_PORT: ${MAGNUS_MARIADB_PORT} + MAGNUS_REDIS_PORT: ${MAGNUS_REDIS_PORT} + ports: + - ${HTTP_PORT}:80 + - ${SSH_PORT}:2222 + - ${MAGNUS_MYSQL_PORT}:33061 + - ${MAGNUS_MARIADB_PORT}:33062 + - ${MAGNUS_REDIS_PORT}:63790 + depends_on: + jms_mysql: + condition: service_healthy + jms_redis: + condition: service_healthy + healthcheck: + test: "curl -fsL http://localhost/api/health/ > /dev/null" + interval: 10s + timeout: 5s + retries: 3 + start_period: 90s + volumes: + - ${VOLUME_DIR}/core/data:/opt/jumpserver/core/data + - ${VOLUME_DIR}/koko/data:/opt/jumpserver/koko/data + - ${VOLUME_DIR}/lion/data:/opt/jumpserver/lion/data + - ${VOLUME_DIR}/magnus/data:/opt/jumpserver/magnus/data + - ${VOLUME_DIR}/nginx/data:/var/log/nginx + networks: + - 1panel-network + +networks: + 1panel-network: + external: true \ No newline at end of file