# https://github.com/jumpserver/Dockerfile
# https://hub.docker.com/r/jumpserver/jms_all
# - SECRET_KEY = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 50
# - BOOTSTRAP_TOKEN = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 24
# - LOG_LEVEL = ERROR # 日志等级, 测试环境推荐设置为 DEBUG
# - DB_ENGINE = mysql # 使用 MySQL 数据库
# - DB_HOST = mysql_host # MySQL 数据库 IP 地址
# - DB_PORT = 3306 # MySQL 数据库 端口
# - DB_USER = xxx # MySQL 数据库认证用户
# - DB_PASSWORD = xxxx # MySQL 数据库认证密码
# - DB_NAME = jumpserver # JumpServer 使用的数据库名称
# - REDIS_HOST = redis_host # 使用 Redis 缓存
# - REDIS_PORT = 6379 # Redis 服务器 IP 地址
# - REDIS_PASSWORD = xxxx # Redis 认证密码
# - VOLUME /opt/data/jumpserver # Core 持久化目录, 存储录像日志
# - VOLUME /opt/koko/data # Koko 持久化目录
# - VOLUME /opt/lion/data # Lion 持久化目录
# - VOLUME /opt/kael/data # Kael 持久化目录
# - VOLUME /opt/chen/data # Chen 持久化目录
# - VOLUME /var/log/nginx # Nginx 日志持久化目录
MARIADB_PASSWORD="nu4x599Wq7u0Bn8EABh3J55G"
REDIS_PASSWORD="8URXPL2x3HZMi7xoGTd55Upj"
SECRET_KEY="B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL555kL9XPUOWrmy"
BOOTSTRAP_TOKEN="7Q11Vz6R2J5BLAdO"
NET_NAME="jms_net"
DBIMAGE="ccr.ccs.tencentyun.com/myjumpserver/mariadb:10.6"
REDISIMAGE="ccr.ccs.tencentyun.com/myjumpserver/redis:6.2.7"
JMSIMAGE="ccr.ccs.tencentyun.com/myjumpserver/jms_all:v4.10.12"
DBPATH="/opt/jumpserver/jmsMariadb"
DATAPATH="/opt/jumpserver/jmsData"
URL_IP="172.23.33.3"
URL_PORT="8050"
docker network create -d bridge --subnet=192.168.65.0/24 $(NET_NAME) || true
jms_mariadb:
-docker rm -f jms_mariadb;
docker run -d -m 384M --network $(NET_NAME) \
--name jms_mariadb --restart always \
-e TZ=Asia/Shanghai \
-e MARIADB_ROOT_PASSWORD=$(MARIADB_PASSWORD) \
-e MARIADB_USER=jumpserver \
-e MARIADB_PASSWORD=$(MARIADB_PASSWORD) \
-e MARIADB_DATABASE=jumpserver \
-v $(DBPATH):/var/lib/mysql \
$(DBIMAGE)
jms_redis:
-docker rm -f jms_redis;
docker run -d -m 64M --network $(NET_NAME) \
--name jms_redis --restart always \
-e TZ=Asia/Shanghai \
$(REDISIMAGE) \
redis-server --requirepass $(REDIS_PASSWORD) --loglevel warning --maxmemory-policy allkeys-lru
jms_all:
-docker rm -f jms_all;
-docker run -d -m 3G --name jms_all --restart always --network $(NET_NAME) \
-p $(URL_PORT):80 \
-p 2222:2222 \
-e TZ=Asia/Shanghai \
-e DOMAINS=$(URL_IP):$(URL_PORT) \
-e SECRET_KEY=$(SECRET_KEY) \
-e BOOTSTRAP_TOKEN=$(BOOTSTRAP_TOKEN) \
-e LOG_LEVEL=ERROR \
-e DB_ENGINE=mysql \
-e DB_HOST=jms_mariadb \
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=$(MARIADB_PASSWORD) \
-e DB_NAME=jumpserver \
-e REDIS_HOST=jms_redis \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=$(REDIS_PASSWORD) \
--privileged=true \
-v $(DATAPATH):/opt/data/jumpserver \
$(JMSIMAGE)
jms_restart:
-make jms_mariadb;
-make jms_redis;
-make jms_all
