#!/bin/bash wfc_work_dir=/opt/wfc docker_work_dir=${wfc_work_dir}/docker src_service_dir=${wfc_work_dir}/systemd/system dst_service_dir=/etc/systemd/system base_dockers="wfc-nacos wfc-mysql wfc-redis" jar_dockers="wfc-auth wfc-gateway wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment" modules_dockers="wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment" fe_docker=wfc-nginx case "$1" in env) # prepare directory mkdir -p ${docker_work_dir}/mysql/tmp chown -R root:root ${docker_work_dir}/* chown -R root:root ${docker_work_dir}/.* chown -R mysql:mysql ${docker_work_dir}/mysql chmod -R 775 ${docker_work_dir}/nacos chmod -R 775 ${docker_work_dir}/nginx chmod -R 775 ${docker_work_dir}/redis chmod -R 775 ${docker_work_dir}/mysql chmod 1777 ${docker_work_dir}/mysql/tmp # setup system serivce cp -rf ${src_service_dir}/wfccontrol.service ${dst_service_dir}/ systemctl daemon-reload systemctl enable wfccontrol.service # 获取传入的IP地址 new_ip=$2 # 定义原始文件和临时文件 def_env_file=${docker_work_dir}/env/default.env org_env_file=${docker_work_dir}/.env tmp_env_file=${docker_work_dir}/temp.env if [ -f ${org_env_file} ]; then cp ${def_env_file} ${org_env_file} fi if [ ${new_ip} != "" ]; then # 使用sed命令替换IP地址 # 替换.env文件 sed "s/NACOS_SERVER_ADDR=.*/NACOS_SERVER_ADDR=${new_ip}:8848/" ${org_env_file} > $tmp_env_file sed -i "s/GATEWAY_ADDR=.*/GATEWAY_ADDR=${new_ip}:8080/" $tmp_env_file mv $tmp_env_file $org_env_file # 定义原始文件和临时文件 org_nginx_conf=${docker_work_dir}/nginx/conf/nginx.conf tmp_nginx_conf=${docker_work_dir}/nginx/conf/tmp_nginx.conf # 使用sed命令替换proxy_pass行中的IP地址 sed "s|proxy_pass http://.*:8080/;|proxy_pass http://${new_ip}:8080/;|" $org_nginx_conf > $tmp_nginx_conf mv $tmp_nginx_conf $org_nginx_conf fi ;; base) # build docker compose cd ${docker_work_dir} docker-compose stop ${base_dockers} docker-compose build ${base_dockers} ;; jar) # build docker compose cd ${docker_work_dir} docker-compose stop ${jar_dockers} docker-compose build ${jar_dockers} ;; modules) # build docker compose cd ${docker_work_dir} docker-compose stop ${modules_dockers} docker-compose build ${modules_dockers} ;; fe) # build docker compose cd ${docker_work_dir} docker-compose stop ${fe_docker} docker-compose build ${fe_docker} ;; all) $0 env $0 base $0 jar $0 fe ;; rm) case "$2" in base) cd ${docker_work_dir} docker-compose stop ${base_dockers} for base_docker in ${base_dockers}; do docker rm ${base_docker} done ;; jar) cd ${docker_work_dir} docker-compose stop ${jar_dockers} for jar_docker in ${jar_dockers}; do docker rm ${jar_docker} docker rmi docker_${jar_docker} done ;; modules) cd ${docker_work_dir} docker-compose stop ${modules_dockers} for modules_docker in ${modules_dockers}; do docker rm ${modules_docker} docker rmi docker_${modules_docker} done ;; fe) cd ${docker_work_dir} docker-compose stop ${fe_docker} docker rm ${fe_docker} docker rmi nginx ;; all) $0 rm base $0 rm jar $0 rm fe ;; *) echo "WANFi Controller Setup " echo "Usage: $0 rm [base|jar|modules|fe|all]" exit 1 ;; esac ;; *) echo "WANFi Controller Setup " echo "Usage: $0 all|env|base|jar|modules|fe|rm [base|jar|modules|fe]" exit 1 ;; esac