|
12 | 12 |
|
13 | 13 | --------------------------
|
14 | 14 |
|
15 |
| -## 环境要求 |
16 |
| -- MariaDB Server >= 10.6 |
17 |
| -- Redis Server >= 6.0 |
18 | 15 |
|
19 |
| -## 快速部署 |
20 |
| -```sh |
21 |
| -# 测试环境可以使用,生产环境推荐外置数据 |
22 |
| -git clone --depth=1 https://github.com/jumpserver/Dockerfile.git |
23 |
| -cd Dockerfile |
24 |
| -cp config_example.conf .env |
25 |
| -docker compose -f docker-compose-network.yml -f docker-compose-redis.yml -f docker-compose-mariadb.yml -f docker-compose-init-db.yml up |
26 |
| -docker compose -f docker-compose-network.yml -f docker-compose-redis.yml -f docker-compose-mariadb.yml -f docker-compose.yml up -d |
27 |
| - |
28 |
| -docker rm jms_init_db |
29 |
| -``` |
30 |
| - |
31 |
| -## 标准部署 |
32 |
| - |
33 |
| -> 请先自行创建 数据库 和 Redis, 版本要求参考上面环境要求说明 |
34 |
| -
|
35 |
| -```sh |
36 |
| -# 自行部署 MySQL 可以参考 (https://docs.jumpserver.org/zh/master/install/setup_by_lb/#mysql) |
37 |
| -# mysql 创建用户并赋予权限, 请自行替换 nu4x599Wq7u0Bn8EABh3J91G 为自己的密码 |
38 |
| -mysql -u root -p |
39 |
| -``` |
40 |
| - |
41 |
| -```mysql |
42 |
| -create database jumpserver default charset 'utf8'; |
43 |
| -create user 'jumpserver'@'%' identified by 'nu4x599Wq7u0Bn8EABh3J91G'; |
44 |
| -grant all on jumpserver.* to 'jumpserver'@'%'; |
45 |
| -flush privileges; |
46 |
| -``` |
| 16 | +## all-in-one 快速部署 |
| 17 | +测试环境可以使用,生产环境推荐使用 标准部署 |
47 | 18 |
|
48 | 19 | ```sh
|
49 |
| -# 自行部署 Redis 可以参考 (https://docs.jumpserver.org/zh/master/install/setup_by_lb/#redis) |
| 20 | +docker volume create jsdata &> /dev/null |
| 21 | +docker volume create pgdata &> /dev/null |
| 22 | +docker run --name jms_all \ |
| 23 | + -e SECRET_KEY=PleaseChangeMe \ |
| 24 | + -e BOOTSTRAP_TOKEN=PleaseChangeMe \ |
| 25 | + -v jsdata:/opt/data \ |
| 26 | + -v pgdata:/var/lib/postgresql \ |
| 27 | + -p 2222:2222 \ |
| 28 | + -p 80:80 jumpserver/jms_all |
50 | 29 | ```
|
51 | 30 |
|
52 |
| -```sh |
53 |
| -git clone --depth=1 https://github.com/jumpserver/Dockerfile.git |
54 |
| -cd Dockerfile |
55 |
| -cp config_example.conf .env |
56 |
| -vi .env |
| 31 | +**初始账号** |
| 32 | +```bash |
| 33 | +默认账号: admin |
| 34 | +默认密码: ChangeMe |
57 | 35 | ```
|
58 |
| -```vim |
59 |
| -# 版本号可以自己根据项目的版本修改 |
60 |
| -VERSION=v4.1.0 |
61 |
| -
|
62 |
| -# 构建参数, 支持 amd64, arm64, ppc64le, s390x |
63 |
| -TARGETARCH=amd64 |
64 | 36 |
|
65 |
| -# Compose, Swarm 模式下修改 NETWORK_DRIVER=overlay |
66 |
| -COMPOSE_PROJECT_NAME=jms |
67 |
| -# COMPOSE_HTTP_TIMEOUT=3600 |
68 |
| -# DOCKER_CLIENT_TIMEOUT=3600 |
69 |
| -DOCKER_SUBNET=192.168.250.0/24 |
70 |
| -NETWORK_DRIVER=overlay |
| 37 | +更多详见 allinone [README](allinone) |
71 | 38 |
|
72 |
| -# 持久化存储 |
73 |
| -VOLUME_DIR=/opt/jumpserver |
74 | 39 |
|
75 |
| -# 时区 |
76 |
| -TZ=Asia/Shanghai |
77 |
| -
|
78 |
| -# MySQL |
79 |
| -DB_HOST=mysql |
80 |
| -DB_PORT=3306 |
81 |
| -DB_USER=root |
82 |
| -DB_PASSWORD=nu4x599Wq7u0Bn8EABh3J91G |
83 |
| -DB_NAME=jumpserver |
84 |
| -
|
85 |
| -# Redis |
86 |
| -REDIS_HOST=redis |
87 |
| -REDIS_PORT=6379 |
88 |
| -REDIS_PASSWORD=8URXPL2x3HZMi7xoGTdk3Upj |
89 |
| -
|
90 |
| -# Core |
91 |
| -SECRET_KEY=B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy |
92 |
| -BOOTSTRAP_TOKEN=7Q11Vz6R2J6BLAdO |
93 |
| -LOG_LEVEL=ERROR |
94 |
| -DOMAINS= |
95 |
| -
|
96 |
| -# 组件通信 |
97 |
| -CORE_HOST=http://core:8080 |
| 40 | +## 标准部署 |
98 | 41 |
|
99 |
| -# Lion |
100 |
| -GUACD_LOG_LEVEL=error |
101 |
| -GUA_HOST=guacd |
102 |
| -GUA_PORT=4822 |
| 42 | +请使用 jumpserver installer 部署 |
103 | 43 |
|
104 |
| -# Web |
105 |
| -HTTP_PORT=80 |
106 |
| -SSH_PORT=2222 |
| 44 | +https://docs.jumpserver.org/zh/v3/quick_start/ |
107 | 45 |
|
108 |
| -## |
109 |
| -# SECRET_KEY 保护签名数据的密匙, 首次安装请一定要修改并牢记, 后续升级和迁移不可更改, 否则将导致加密的数据不可解密。 |
110 |
| -# BOOTSTRAP_TOKEN 为组件认证使用的密钥, 仅组件注册时使用。组件指 koko, lion, magnus, kael, chen ... |
111 |
| -``` |
112 |
| -```sh |
113 |
| -docker compose -f docker-compose-network.yml -f docker-compose-init-db.yml up |
114 |
| -docker compose -f docker-compose-network.yml -f docker-compose.yml up -d |
115 |
| - |
116 |
| -docker rm jms_init_db |
117 |
| -``` |
118 | 46 |
|
119 | 47 | ## 集群部署
|
120 | 48 |
|
121 |
| -- Docker Swarm 集群环境 |
122 |
| -- 自行创建 MySQL 和 Redis, 参考上面环境要求说明 |
123 |
| -- 自行创建持久化共享存储目录 ( 例如 NFS, GlusterFS, Ceph 等 ) |
124 |
| - |
125 |
| -```sh |
126 |
| -# 在所有 Docker Swarm Worker 节点挂载 NFS 或者其他共享存储, 例如 /data/jumpserver |
127 |
| -# 注意: 需要手动创建所有需要挂载的持久化目录, Docker Swarm 模式不会自动创建所需的目录 |
128 |
| -mkdir -p /data/jumpserver/core/data |
129 |
| -mkdir -p /data/jumpserver/chen/data |
130 |
| -mkdir -p /data/jumpserver/lion/data |
131 |
| -mkdir -p /data/jumpserver/koko/data |
132 |
| -mkdir -p /data/jumpserver/lion/data |
133 |
| -mkdir -p /data/jumpserver/web/data/logs |
134 |
| -mkdir -p /data/jumpserver/web/download |
135 |
| -``` |
136 |
| -```sh |
137 |
| -git clone --depth=1 https://github.com/jumpserver/Dockerfile.git |
138 |
| -cd Dockerfile |
139 |
| -cp config_example.conf .env |
140 |
| -vi .env |
141 |
| -``` |
142 |
| -```vim |
143 |
| -# 版本号可以自己根据项目的版本修改 |
144 |
| -VERSION=v4.1.0 |
145 |
| -
|
146 |
| -# 构建参数, 支持 amd64, arm64, ppc64le, s390x |
147 |
| -TARGETARCH=amd64 |
148 |
| -
|
149 |
| -# Compose, Swarm 模式下修改 NETWORK_DRIVER=overlay |
150 |
| -COMPOSE_PROJECT_NAME=jms |
151 |
| -# COMPOSE_HTTP_TIMEOUT=3600 |
152 |
| -# DOCKER_CLIENT_TIMEOUT=3600 |
153 |
| -DOCKER_SUBNET=192.168.250.0/24 |
154 |
| -NETWORK_DRIVER=overlay |
155 |
| -
|
156 |
| -# 持久化存储 |
157 |
| -VOLUME_DIR=/opt/jumpserver |
158 |
| -
|
159 |
| -# 时区 |
160 |
| -TZ=Asia/Shanghai |
161 |
| -
|
162 |
| -# MySQL |
163 |
| -DB_HOST=mysql |
164 |
| -DB_PORT=3306 |
165 |
| -DB_USER=root |
166 |
| -DB_PASSWORD=nu4x599Wq7u0Bn8EABh3J91G |
167 |
| -DB_NAME=jumpserver |
168 |
| -
|
169 |
| -# Redis |
170 |
| -REDIS_HOST=redis |
171 |
| -REDIS_PORT=6379 |
172 |
| -REDIS_PASSWORD=8URXPL2x3HZMi7xoGTdk3Upj |
173 |
| -
|
174 |
| -# Core |
175 |
| -SECRET_KEY=B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy |
176 |
| -BOOTSTRAP_TOKEN=7Q11Vz6R2J6BLAdO |
177 |
| -LOG_LEVEL=ERROR |
178 |
| -DOMAINS= |
179 |
| -
|
180 |
| -# 组件通信 |
181 |
| -CORE_HOST=http://core:8080 |
182 |
| -
|
183 |
| -# Lion |
184 |
| -GUACD_LOG_LEVEL=error |
185 |
| -GUA_HOST=guacd |
186 |
| -GUA_PORT=4822 |
187 |
| -
|
188 |
| -# Web |
189 |
| -HTTP_PORT=80 |
190 |
| -SSH_PORT=2222 |
191 |
| -
|
192 |
| -## |
193 |
| -# SECRET_KEY 保护签名数据的密匙, 首次安装请一定要修改并牢记, 后续升级和迁移不可更改, 否则将导致加密的数据不可解密。 |
194 |
| -# BOOTSTRAP_TOKEN 为组件认证使用的密钥, 仅组件注册时使用。组件指 koko, lion, magnus, kael, chen ... |
195 |
| -``` |
196 |
| -```sh |
197 |
| -# 生成 docker stack 部署所需文件 |
198 |
| -docker compose -f docker-compose-network.yml -f docker-compose-init-db.yml config | sed '/published:/ s/"//g' | sed "/name:/d" > docker-stack-init-db.yml |
199 |
| -docker compose -f docker-compose-network.yml -f docker-compose.yml config | sed '/published:/ s/"//g' | sed "/name:/d" > docker-stack.yml |
200 |
| -``` |
201 |
| -```sh |
202 |
| -# 初始化数据库 |
203 |
| -docker stack deploy -c docker-stack-init-db.yml jumpserver |
204 |
| -docker service ls |
205 |
| -docker service ps jumpserver_init_db |
206 |
| - |
207 |
| -# 根据查到的 Worker 节点, 到对应节点查看初始化日志 |
208 |
| -``` |
209 |
| -```sh |
210 |
| -# 启动 JumpServer 应用 |
211 |
| -docker stack deploy -c docker-stack.yml jumpserver |
212 |
| -docker service ls |
213 |
| -``` |
214 |
| -```sh |
215 |
| -# 扩容缩容 |
216 |
| -docker service update --replicas=2 jumpserver_koko # 扩容 koko 到 2 个副本 |
217 |
| -docker service update --replicas=4 jumpserver_lion # 扩容 lion 到 2 个副本 |
218 |
| -# ... |
219 |
| -``` |
220 |
| - |
221 |
| -## Build |
222 |
| -```sh |
223 |
| -# 如果希望手动构建镜像, 可以使用下面的命令 |
224 |
| -cd Dockerfile |
225 |
| -cp config_example.conf .env |
226 |
| -vi .env |
227 |
| -``` |
228 |
| -```vim |
229 |
| -# 构建参数, 支持 amd64/arm64 |
230 |
| -TARGETARCH=amd64 |
231 |
| -``` |
232 |
| -```bash |
233 |
| -docker compose -f docker-compose-build.yml up |
234 |
| -``` |
| 49 | +JumpServer 支持 swarm 方式部署,但目前不太推荐用于生产环境,除非你对此熟悉 . |
235 | 50 |
|
236 |
| -## 初始账号 |
237 |
| -- 默认账号: `admin` |
238 |
| -- 默认密码: `ChangeMe` |
| 51 | +详见 swarm [README](swarm) |
0 commit comments