安装文档

    Debian / UbuntuRedHat / CentOS

    1. yum install -y wget curl tar gettext iptables

    JumpServer 需要使用 MySQL 或 MariaDB 存储数据,使用 Redis 缓存数据,如果希望使用自建数据库或云数据库请参考此处的要求
    支持 和 Redis SSL 连接

    MySQLMariaDB

    1. create database jumpserver default charset 'utf8';
    1. mysql> show create database jumpserver;
    2. +------------+---------------------------------------------------------------------+
    3. | Database | Create Database |
    4. +------------+---------------------------------------------------------------------+
    5. | jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    6. +------------+---------------------------------------------------------------------+
    7. 1 row in set (0.00 sec)
    1. create database jumpserver default charset 'utf8';
    1. MariaDB> show create database jumpserver;
    2. +------------+--------------------------------------------------------------------------------------------+
    3. | Database | Create Database |
    4. +------------+--------------------------------------------------------------------------------------------+
    5. | jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_bin */ |
    6. +------------+--------------------------------------------------------------------------------------------+
    7. 1 row in set (0.001 sec)

    一键部署手动部署Helm源码部署

    1. # 默认会安装到 /opt/jumpserver-installer-v2.27.0 目录
    2. curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.27.0/quick_start.sh | bash
    3. cd /opt/jumpserver-installer-v2.27.0
    1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
    1. cd /opt/jumpserver-installer-v2.27.0
    2. # 启动
    3. ./jmsctl.sh start
    4. # 停止
    5. ./jmsctl.sh down
    6. # 卸载
    7. ./jmsctl.sh uninstall
    8. # 帮助
    9. ./jmsctl.sh -h
    1. cd /opt
    2. wget https://github.com/jumpserver/installer/releases/download/v2.27.0/jumpserver-installer-v2.27.0.tar.gz
    3. tar -xf jumpserver-installer-v2.27.0.tar.gz
    4. cd jumpserver-installer-v2.27.0
    1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
    2. cat config-example.txt
    1. # 以下设置如果为空系统会自动生成随机字符串填入
    2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
    3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
    4. ## Docker 镜像配置
    5. # DOCKER_IMAGE_MIRROR=1
    6. ## 安装配置
    7. VOLUME_DIR=/opt/jumpserver
    8. SECRET_KEY=
    9. BOOTSTRAP_TOKEN=
    10. LOG_LEVEL=ERROR
    11. ## MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息
    12. DB_HOST=mysql
    13. DB_PORT=3306
    14. DB_USER=root
    15. DB_PASSWORD=
    16. DB_NAME=jumpserver
    17. ## Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息
    18. REDIS_HOST=redis
    19. REDIS_PORT=6379
    20. REDIS_PASSWORD=
    21. # JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
    22. DOCKER_SUBNET=192.168.250.0/24
    23. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
    24. USE_IPV6=0
    25. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
    26. ## 访问配置
    27. HTTP_PORT=80
    28. SSH_PORT=2222
    29. RDP_PORT=3389
    30. MAGNUS_PORTS=30000-30100
    31. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
    32. # USE_LB=1
    33. # HTTPS_PORT=443
    34. # SERVER_NAME=your_domain_name
    35. # SSL_CERTIFICATE=your_cert
    36. # SSL_CERTIFICATE_KEY=your_cert_key
    37. ## Nginx 文件上传大小
    38. CLIENT_MAX_BODY_SIZE=4096m
    39. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
    40. USE_TASK=1
    41. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
    42. # SESSION_COOKIE_AGE=86400
    43. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
    44. # Koko Lion XRDP 组件配置
    45. CORE_HOST=http://core:8080
    46. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
    47. ## 终端使用宿主 HOSTNAME 标识
    48. SERVER_HOSTNAME=${HOSTNAME}
    49. # 额外的配置
    50. CURRENT_VERSION=
    1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
    1. cd /opt/jumpserver-installer-v2.27.0
    2. # 启动
    3. ./jmsctl.sh start
    4. # 停止
    5. ./jmsctl.sh down
    6. # 卸载
    7. ./jmsctl.sh uninstall
    8. # 帮助
    9. ./jmsctl.sh -h
    1. helm repo add jumpserver https://jumpserver.github.io/helm-charts
    2. helm repo list
    3. vi values.yaml
    1. # 模板 https://github.com/jumpserver/helm-charts/blob/main/charts/jumpserver/values.yaml
    2. # Default values for jumpserver.
    3. # This is a YAML-formatted file.
    4. # Declare variables to be passed into your templates.
    5. nameOverride: ""
    6. fullnameOverride: ""
    7. ## @param global.imageRegistry Global Docker image registry
    8. ## @param global.imagePullSecrets Global Docker registry secret names as an array
    9. ## @param global.storageClass Global StorageClass for Persistent Volume(s)
    10. ## @param global.redis.password Global Redis™ password (overrides `auth.password`)
    11. ##
    12. global:
    13. imageRegistry: "docker.io" # 国内可以使用华为云加速
    14. imageTag: v2.27.0 # 版本号
    15. ## E.g.
    16. # imagePullSecrets:
    17. # - name: harborsecret
    18. #
    19. # storageClass: "jumpserver-data"
    20. ##
    21. imagePullSecrets: []
    22. # - name: yourSecretKey
    23. storageClass: "" # (*必填) NFS SC
    24. ## Please configure your MySQL server first
    25. ## Jumpserver will not start the external MySQL server.
    26. ##
    27. externalDatabase: # (*必填) 数据库相关设置
    28. engine: mysql
    29. host: localhost
    30. port: 3306
    31. user: root
    32. password: ""
    33. database: jumpserver
    34. ## Please configure your Redis server first
    35. ## Jumpserver will not start the external Redis server.
    36. ##
    37. externalRedis: # (*必填) Redis 设置
    38. host: localhost
    39. port: 6379
    40. password: ""
    41. serviceAccount:
    42. # Specifies whether a service account should be created
    43. create: false
    44. # The name of the service account to use.
    45. # If not set and create is true, a name is generated using the fullname template
    46. name:
    47. ingress:
    48. enabled: true # 不使用 ingress 可以关闭
    49. annotations:
    50. # kubernetes.io/tls-acme: "true"
    51. compute-full-forwarded-for: "true"
    52. use-forwarded-headers: "true"
    53. kubernetes.io/ingress.class: nginx
    54. nginx.ingress.kubernetes.io/configuration-snippet: |
    55. proxy_set_header Upgrade "websocket";
    56. proxy_set_header Connection "Upgrade";
    57. hosts:
    58. - "test.jumpserver.org" # 对外域名
    59. tls: []
    60. # - secretName: chart-example-tls
    61. # hosts:
    62. # - chart-example.local
    63. core:
    64. enabled: true
    65. labels:
    66. app.jumpserver.org/name: jms-core
    67. config:
    68. # Generate a new random secret key by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
    69. # secretKey: "B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy"
    70. secretKey: "" # (*必填) 加密敏感信息的 secret_key, 长度推荐大于 50 位
    71. # Generate a new random bootstrap token by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
    72. # bootstrapToken: "7Q11Vz6R2J6BLAdO"
    73. bootstrapToken: "" # (*必填) 组件认证使用的 token, 长度推荐大于 24 位
    74. # Enabled it for debug
    75. debug: false
    76. log:
    77. level: ERROR
    78. replicaCount: 1
    79. image:
    80. registry: docker.io
    81. repository: jumpserver/core
    82. tag: v2.27.0
    83. pullPolicy: IfNotPresent
    84. command: []
    85. env:
    86. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#core
    87. SESSION_EXPIRE_AT_BROWSER_CLOSE: true
    88. # SESSION_COOKIE_AGE: 86400
    89. # SECURITY_VIEW_AUTH_NEED_MFA: true
    90. livenessProbe:
    91. failureThreshold: 30
    92. httpGet:
    93. path: /api/health/
    94. port: web
    95. readinessProbe:
    96. failureThreshold: 30
    97. httpGet:
    98. path: /api/health/
    99. port: web
    100. podSecurityContext: {}
    101. # fsGroup: 2000
    102. securityContext: {}
    103. # capabilities:
    104. # drop:
    105. # - ALL
    106. # readOnlyRootFilesystem: true
    107. # runAsNonRoot: true
    108. # runAsUser: 1000
    109. service:
    110. type: ClusterIP
    111. web:
    112. port: 8080
    113. ws:
    114. port: 8070
    115. resources: {}
    116. # We usually recommend not to specify default resources and to leave this as a conscious
    117. # choice for the user. This also increases chances charts run on environments with little
    118. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    119. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    120. # limits:
    121. # cpu: 1000m
    122. # memory: 2048Mi
    123. # requests:
    124. # cpu: 500m
    125. # memory: 1024Mi
    126. persistence:
    127. storageClassName: jumpserver-data
    128. accessModes:
    129. - ReadWriteMany
    130. size: 100Gi
    131. # annotations: {}
    132. finalizers:
    133. - kubernetes.io/pvc-protection
    134. # subPath: ""
    135. # existingClaim:
    136. volumeMounts: []
    137. volumes: []
    138. nodeSelector: {}
    139. tolerations: []
    140. affinity: {}
    141. koko:
    142. enabled: true
    143. labels:
    144. app.jumpserver.org/name: jms-koko
    145. config:
    146. log:
    147. level: ERROR
    148. replicaCount: 1
    149. image:
    150. registry: docker.io
    151. repository: jumpserver/koko
    152. tag: v2.27.0
    153. pullPolicy: IfNotPresent
    154. command: []
    155. env: []
    156. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#koko
    157. # LANGUAGE_CODE: zh
    158. # REUSE_CONNECTION: true
    159. # ENABLE_LOCAL_PORT_FORWARD: true
    160. # ENABLE_VSCODE_SUPPORT: true
    161. livenessProbe:
    162. failureThreshold: 30
    163. httpGet:
    164. path: /koko/health/
    165. port: web
    166. readinessProbe:
    167. failureThreshold: 30
    168. httpGet:
    169. path: /koko/health/
    170. port: web
    171. podSecurityContext: {}
    172. # fsGroup: 2000
    173. securityContext:
    174. privileged: true
    175. # capabilities:
    176. # drop:
    177. # - ALL
    178. # readOnlyRootFilesystem: true
    179. # runAsNonRoot: true
    180. # runAsUser: 1000
    181. service:
    182. type: ClusterIP
    183. web:
    184. port: 5000
    185. ssh:
    186. resources: {}
    187. # We usually recommend not to specify default resources and to leave this as a conscious
    188. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    189. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    190. # limits:
    191. # cpu: 100m
    192. # memory: 128Mi
    193. # requests:
    194. # cpu: 100m
    195. # memory: 128Mi
    196. persistence:
    197. storageClassName: jumpserver-data
    198. accessModes:
    199. - ReadWriteMany
    200. size: 10Gi
    201. # annotations: {}
    202. finalizers:
    203. - kubernetes.io/pvc-protection
    204. volumeMounts: []
    205. volumes: []
    206. nodeSelector: {}
    207. tolerations: []
    208. affinity: {}
    209. lion:
    210. enabled: true
    211. labels:
    212. app.jumpserver.org/name: jms-lion
    213. config:
    214. log:
    215. level: ERROR
    216. replicaCount: 1
    217. image:
    218. registry: docker.io
    219. repository: jumpserver/lion
    220. tag: v2.27.0
    221. pullPolicy: IfNotPresent
    222. command: []
    223. env:
    224. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#lion
    225. JUMPSERVER_ENABLE_FONT_SMOOTHING: true
    226. # JUMPSERVER_COLOR_DEPTH: 32
    227. # JUMPSERVER_ENABLE_WALLPAPER: true
    228. # JUMPSERVER_ENABLE_THEMING: true
    229. # JUMPSERVER_ENABLE_FULL_WINDOW_DRAG: true
    230. # JUMPSERVER_ENABLE_DESKTOP_COMPOSITION: true
    231. # JUMPSERVER_ENABLE_MENU_ANIMATIONS: true
    232. livenessProbe:
    233. failureThreshold: 30
    234. httpGet:
    235. path: /lion/health/
    236. port: web
    237. readinessProbe:
    238. failureThreshold: 30
    239. httpGet:
    240. path: /lion/health/
    241. port: web
    242. podSecurityContext: {}
    243. # fsGroup: 2000
    244. securityContext: {}
    245. # capabilities:
    246. # drop:
    247. # - ALL
    248. # readOnlyRootFilesystem: true
    249. # runAsNonRoot: true
    250. # runAsUser: 1000
    251. service:
    252. type: ClusterIP
    253. web:
    254. port: 8081
    255. resources: {}
    256. # We usually recommend not to specify default resources and to leave this as a conscious
    257. # choice for the user. This also increases chances charts run on environments with little
    258. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    259. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    260. # limits:
    261. # cpu: 100m
    262. # memory: 512Mi
    263. # requests:
    264. # cpu: 100m
    265. # memory: 512Mi
    266. persistence:
    267. storageClassName: jumpserver-data
    268. accessModes:
    269. - ReadWriteMany
    270. size: 50Gi
    271. # annotations: {}
    272. finalizers:
    273. - kubernetes.io/pvc-protection
    274. volumeMounts: []
    275. volumes: []
    276. nodeSelector: {}
    277. tolerations: []
    278. affinity: {}
    279. # v2.27.0 版本 magnus 做了大改,需要开放很多端口,等待后续优化
    280. magnus:
    281. enabled: false
    282. labels:
    283. app.jumpserver.org/name: jms-magnus
    284. config:
    285. log:
    286. level: ERROR
    287. replicaCount: 1
    288. image:
    289. registry: docker.io
    290. repository: jumpserver/magnus
    291. tag: v2.21.0
    292. pullPolicy: IfNotPresent
    293. command: []
    294. env: []
    295. livenessProbe:
    296. failureThreshold: 30
    297. tcpSocket:
    298. port: 30000
    299. readinessProbe:
    300. failureThreshold: 30
    301. tcpSocket:
    302. port: 30000
    303. podSecurityContext: {}
    304. # fsGroup: 2000
    305. securityContext: {}
    306. # capabilities:
    307. # drop:
    308. # - ALL
    309. # readOnlyRootFilesystem: true
    310. # runAsNonRoot: true
    311. # runAsUser: 1000
    312. service:
    313. type: ClusterIP
    314. ports: 30000-30100
    315. resources: {}
    316. # We usually recommend not to specify default resources and to leave this as a conscious
    317. # choice for the user. This also increases chances charts run on environments with little
    318. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    319. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    320. # limits:
    321. # cpu: 100m
    322. # memory: 512Mi
    323. # requests:
    324. # cpu: 100m
    325. # memory: 512Mi
    326. persistence:
    327. storageClassName: jumpserver-data
    328. accessModes:
    329. - ReadWriteMany
    330. size: 10Gi
    331. # annotations: {}
    332. finalizers:
    333. - kubernetes.io/pvc-protection
    334. volumeMounts: []
    335. volumes: []
    336. nodeSelector: {}
    337. tolerations: []
    338. affinity: {}
    339. xpack:
    340. enabled: false # 企业版本打开此选项
    341. omnidb:
    342. labels:
    343. app.jumpserver.org/name: jms-omnidb
    344. config:
    345. log:
    346. level: ERROR
    347. replicaCount: 1
    348. image:
    349. registry: registry.fit2cloud.com
    350. repository: jumpserver/omnidb
    351. tag: v2.27.0
    352. pullPolicy: IfNotPresent
    353. command: []
    354. env: []
    355. livenessProbe:
    356. failureThreshold: 30
    357. tcpSocket:
    358. port: web
    359. readinessProbe:
    360. failureThreshold: 30
    361. tcpSocket:
    362. port: web
    363. podSecurityContext: {}
    364. # fsGroup: 2000
    365. securityContext: {}
    366. # capabilities:
    367. # drop:
    368. # - ALL
    369. # readOnlyRootFilesystem: true
    370. # runAsNonRoot: true
    371. # runAsUser: 1000
    372. service:
    373. type: ClusterIP
    374. web:
    375. port: 8082
    376. resources: {}
    377. # We usually recommend not to specify default resources and to leave this as a conscious
    378. # choice for the user. This also increases chances charts run on environments with little
    379. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    380. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    381. # limits:
    382. # cpu: 100m
    383. # memory: 128Mi
    384. # requests:
    385. # cpu: 100m
    386. # memory: 128Mi
    387. persistence:
    388. storageClassName: jumpserver-data
    389. accessModes:
    390. - ReadWriteMany
    391. size: 10Gi
    392. # annotations: {}
    393. finalizers:
    394. - kubernetes.io/pvc-protection
    395. volumeMounts: []
    396. volumes: []
    397. nodeSelector: {}
    398. tolerations: []
    399. affinity: {}
    400. razor:
    401. labels:
    402. app.jumpserver.org/name: jms-razor
    403. config:
    404. log:
    405. level: ERROR
    406. replicaCount: 1
    407. image:
    408. registry: registry.fit2cloud.com
    409. repository: jumpserver/razor
    410. tag: v2.27.0
    411. pullPolicy: IfNotPresent
    412. command: []
    413. env: []
    414. livenessProbe:
    415. failureThreshold: 30
    416. tcpSocket:
    417. port: rdp
    418. readinessProbe:
    419. failureThreshold: 30
    420. tcpSocket:
    421. port: rdp
    422. podSecurityContext: {}
    423. # fsGroup: 2000
    424. securityContext: {}
    425. # capabilities:
    426. # drop:
    427. # - ALL
    428. # readOnlyRootFilesystem: true
    429. # runAsNonRoot: true
    430. # runAsUser: 1000
    431. service:
    432. type: ClusterIP
    433. rdp:
    434. port: 3389
    435. resources: {}
    436. # We usually recommend not to specify default resources and to leave this as a conscious
    437. # choice for the user. This also increases chances charts run on environments with little
    438. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    439. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    440. # limits:
    441. # cpu: 100m
    442. # memory: 128Mi
    443. # requests:
    444. # cpu: 100m
    445. # memory: 128Mi
    446. persistence:
    447. storageClassName: jumpserver-data
    448. accessModes:
    449. - ReadWriteMany
    450. size: 50Gi
    451. # annotations: {}
    452. finalizers:
    453. - kubernetes.io/pvc-protection
    454. volumeMounts: []
    455. tolerations: []
    456. affinity: {}
    457. web:
    458. enabled: true
    459. labels:
    460. app.jumpserver.org/name: jms-web
    461. replicaCount: 1
    462. image:
    463. registry: docker.io
    464. repository: jumpserver/web
    465. tag: v2.27.0
    466. pullPolicy: IfNotPresent
    467. command: []
    468. env: []
    469. # nginx client_max_body_size, default 4G
    470. # CLIENT_MAX_BODY_SIZE: 4096m
    471. livenessProbe:
    472. failureThreshold: 30
    473. httpGet:
    474. path: /api/health/
    475. port: web
    476. readinessProbe:
    477. failureThreshold: 30
    478. httpGet:
    479. path: /api/health/
    480. port: web
    481. podSecurityContext: {}
    482. # fsGroup: 2000
    483. securityContext: {}
    484. # capabilities:
    485. # drop:
    486. # - ALL
    487. # readOnlyRootFilesystem: true
    488. # runAsNonRoot: true
    489. # runAsUser: 1000
    490. service:
    491. type: ClusterIP
    492. web:
    493. port: 80
    494. resources: {}
    495. # We usually recommend not to specify default resources and to leave this as a conscious
    496. # choice for the user. This also increases chances charts run on environments with little
    497. # resources, such as Minikube. If you do want to specify resources, uncomment the following
    498. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    499. # limits:
    500. # cpu: 100m
    501. # memory: 128Mi
    502. # requests:
    503. # cpu: 100m
    504. # memory: 128Mi
    505. persistence:
    506. storageClassName: jumpserver-data
    507. accessModes:
    508. - ReadWriteMany
    509. size: 1Gi
    510. # annotations: {}
    511. finalizers:
    512. - kubernetes.io/pvc-protection
    513. volumeMounts: []
    514. volumes: []
    515. nodeSelector: {}
    516. tolerations: []
    517. affinity: {}
    1. # 安装
    2. helm install jms-k8s jumpserver/jumpserver -n default -f values.yaml
    3. # 卸载
    4. helm uninstall jms-k8s -n default

    离线包解压需要 tar 命令, 参考 手动安装

    linux/amd64linux/arm64linux/loong64

    1. cd /opt
    2. tar -xf jumpserver-offline-installer-v2.27.0-amd64-113.tar.gz
    3. cd jumpserver-offline-installer-v2.27.0-amd64-113
    1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
    2. cat config-example.txt
    1. # 以下设置如果为空系统会自动生成随机字符串填入
    2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
    3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
    4. ## Docker 镜像配置
    5. # DOCKER_IMAGE_MIRROR=1
    6. ## 安装配置
    7. VOLUME_DIR=/opt/jumpserver
    8. SECRET_KEY=
    9. BOOTSTRAP_TOKEN=
    10. LOG_LEVEL=ERROR
    11. ## MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息
    12. DB_HOST=mysql
    13. DB_PORT=3306
    14. DB_USER=root
    15. DB_PASSWORD=
    16. DB_NAME=jumpserver
    17. ## Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息
    18. REDIS_HOST=redis
    19. REDIS_PORT=6379
    20. REDIS_PASSWORD=
    21. # JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
    22. DOCKER_SUBNET=192.168.250.0/24
    23. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
    24. USE_IPV6=0
    25. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
    26. ## 访问配置
    27. HTTP_PORT=80
    28. SSH_PORT=2222
    29. RDP_PORT=3389
    30. MAGNUS_PORTS=30000-30100
    31. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
    32. # USE_LB=1
    33. # HTTPS_PORT=443
    34. # SERVER_NAME=your_domain_name
    35. # SSL_CERTIFICATE=your_cert
    36. # SSL_CERTIFICATE_KEY=your_cert_key
    37. ## Nginx 文件上传大小
    38. CLIENT_MAX_BODY_SIZE=4096m
    39. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
    40. USE_TASK=1
    41. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
    42. # SESSION_COOKIE_AGE=86400
    43. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
    44. # Koko Lion XRDP 组件配置
    45. CORE_HOST=http://core:8080
    46. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
    47. ## 终端使用宿主 HOSTNAME 标识
    48. SERVER_HOSTNAME=${HOSTNAME}
    49. # 额外的配置
    50. CURRENT_VERSION=
    1. # 安装
    2. ./jmsctl.sh install
    3. # 启动
    4. ./jmsctl.sh start
    1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
    1. cd jumpserver-offline-release-v2.27.0-amd64-113
    2. # 启动
    3. ./jmsctl.sh start
    4. # 停止
    5. ./jmsctl.sh down
    6. # 卸载
    7. ./jmsctl.sh uninstall
    8. # 帮助
    9. ./jmsctl.sh -h

    从飞致云社区 下载最新的 linux/arm64 离线包, 并上传到部署服务器的 /opt 目录

    1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
    2. cat config-example.txt
    1. # 以下设置如果为空系统会自动生成随机字符串填入
    2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
    3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
    4. ## Docker 镜像配置
    5. # DOCKER_IMAGE_MIRROR=1
    6. ## 安装配置
    7. VOLUME_DIR=/opt/jumpserver
    8. SECRET_KEY=
    9. BOOTSTRAP_TOKEN=
    10. LOG_LEVEL=ERROR
    11. ## MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息
    12. DB_HOST=mysql
    13. DB_PORT=3306
    14. DB_USER=root
    15. DB_PASSWORD=
    16. DB_NAME=jumpserver
    17. ## Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息
    18. REDIS_HOST=redis
    19. REDIS_PORT=6379
    20. REDIS_PASSWORD=
    21. # JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
    22. DOCKER_SUBNET=192.168.250.0/24
    23. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
    24. USE_IPV6=0
    25. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
    26. ## 访问配置
    27. HTTP_PORT=80
    28. SSH_PORT=2222
    29. RDP_PORT=3389
    30. MAGNUS_PORTS=30000-30100
    31. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
    32. # USE_LB=1
    33. # HTTPS_PORT=443
    34. # SERVER_NAME=your_domain_name
    35. # SSL_CERTIFICATE=your_cert
    36. # SSL_CERTIFICATE_KEY=your_cert_key
    37. ## Nginx 文件上传大小
    38. CLIENT_MAX_BODY_SIZE=4096m
    39. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
    40. USE_TASK=1
    41. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
    42. # SESSION_COOKIE_AGE=86400
    43. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
    44. # Koko Lion XRDP 组件配置
    45. CORE_HOST=http://core:8080
    46. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
    47. ## 终端使用宿主 HOSTNAME 标识
    48. SERVER_HOSTNAME=${HOSTNAME}
    49. # 额外的配置
    50. CURRENT_VERSION=
    1. # 安装
    2. ./jmsctl.sh install
    3. # 启动
    4. ./jmsctl.sh start
    1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
    1. cd jumpserver-offline-release-v2.27.0-arm64-113
    2. # 启动
    3. ./jmsctl.sh start
    4. # 停止
    5. ./jmsctl.sh down
    6. # 卸载
    7. ./jmsctl.sh uninstall
    8. # 帮助
    9. ./jmsctl.sh -h

    从飞致云社区 , 并上传到部署服务器的 /opt 目录

    1. cd /opt
    2. tar -xf jumpserver-offline-installer-v2.27.0-loong64-113.tar.gz
    3. cd jumpserver-offline-installer-v2.27.0-loong64-113
    1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
    2. cat config-example.txt
    1. # 以下设置如果为空系统会自动生成随机字符串填入
    2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
    3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
    4. ## Docker 镜像配置
    5. # DOCKER_IMAGE_MIRROR=1
    6. ## 安装配置
    7. VOLUME_DIR=/opt/jumpserver
    8. SECRET_KEY=
    9. BOOTSTRAP_TOKEN=
    10. LOG_LEVEL=ERROR
    11. ## MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息
    12. DB_HOST=mysql
    13. DB_PORT=3306
    14. DB_USER=root
    15. DB_PASSWORD=
    16. DB_NAME=jumpserver
    17. ## Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息
    18. REDIS_HOST=redis
    19. REDIS_PORT=6379
    20. REDIS_PASSWORD=
    21. # JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
    22. DOCKER_SUBNET=192.168.250.0/24
    23. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
    24. USE_IPV6=0
    25. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
    26. ## 访问配置
    27. HTTP_PORT=80
    28. SSH_PORT=2222
    29. RDP_PORT=3389
    30. MAGNUS_PORTS=30000-30100
    31. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
    32. # USE_LB=1
    33. # HTTPS_PORT=443
    34. # SERVER_NAME=your_domain_name
    35. # SSL_CERTIFICATE=your_cert
    36. # SSL_CERTIFICATE_KEY=your_cert_key
    37. ## Nginx 文件上传大小
    38. CLIENT_MAX_BODY_SIZE=4096m
    39. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
    40. USE_TASK=1
    41. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
    42. # SESSION_COOKIE_AGE=86400
    43. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
    44. # Koko Lion XRDP 组件配置
    45. CORE_HOST=http://core:8080
    46. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
    47. ## 终端使用宿主 HOSTNAME 标识
    48. SERVER_HOSTNAME=${HOSTNAME}
    49. # 额外的配置
    50. CURRENT_VERSION=
    1. # 安装
    2. ./jmsctl.sh install
    3. # 启动
    4. ./jmsctl.sh start
    1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
    1. cd jumpserver-offline-release-v2.27.0-loong64-113
    2. # 启动
    3. ./jmsctl.sh start
    4. # 停止
    5. ./jmsctl.sh down
    6. # 卸载
    7. ./jmsctl.sh uninstall
    8. ./jmsctl.sh -h

    更多内容参考 安全建议