ubuntu 搭建 sonic v2.6.4 平台记录

友情链接:sudo 免密码 小白用Windows(ssh)连接使用 ubuntu(虚拟机)-CSDN博客

1.前后端部署 | Sonic - 开源云真机平台 (sonic-cloud.cn)

sonic.sh 搭建脚本

复制代码
#!/bin/bash

# 如果外部参数为 ready,则下载 Sonic Server 压缩包
if [ "$1" == "ready" ]; then
    # 设置代理
    export ALL_PROXY=http://172.28.128.1:1081
    
    # 下载 Sonic Server 压缩包
    curl -L https://ghproxy.com/https://github.com/SonicCloudOrg/sonic-server/releases/download/v2.6.4/sonic-server-v2.6.4.zip --output sonic-server-v2.6.4.zip
    
    # 取消代理
    export ALL_PROXY=
    
    # 如果 unzip 命令不存在,则安装 unzip
    if ! command -v unzip &> /dev/null; then
        sudo apt install -y unzip
    fi
    
    # 解压 Sonic Server 压缩包
    unzip sonic-server-v2.6.4.zip
fi

if [ "$1" == "cfg" ]; then
    # 编辑 .env 文件,修改对应值
    sed -i 's/SONIC_SERVER_HOST=.*/SONIC_SERVER_HOST=192.168.23.133/' .env
    sed -i 's#LDAP_URL=.*#LDAP_URL=ldap://192.168.23.133:10389#' .env
    sed -i 's/SONIC_SERVER_PORT=.*/SONIC_SERVER_PORT=3000/' .env
    sed -i 's/MYSQL_HOST=.*/MYSQL_HOST=192.168.23.133/' .env
    sed -i 's/MYSQL_PORT=.*/MYSQL_PORT=3306/' .env
    #mysql
    mkdir -p /home/sonic     
    cp ../mysql/my.cnf /home/sonic/mysql/my.cnf
    old_pwd=$(pwd)
    cd /home/sonic
    mkdir -p mysql/log mysql/data mysql/conf
    mkdir -p /home/sonic/mysql/conf/conf.d
    mkdir -p /home/sonic/mysql/mysql.conf.d 
    cd "$old_pwd" 
fi

if [ "$1" == "compose" ]; then 
    # 安装所需的依赖项
    apt install docker
    apt install docker-compose
fi

# 启动 Docker 容器
if [ "$1" == "up" ]; then
    docker-compose up -d
fi


# 停止 
# systemctl restart docker   
# 查看状态
# sudo docker ps   
#查看日志
# sudo docker logs xxxxx   

附件:../mysql/my.cnf

复制代码
[mysql]
#设置mysql客户端默认字符集
default-character-set=UTF8MB4
 
[mysqld]
#设置3306端口
port=3306
 
#允许最大连接数
max_connections=200
 
#允许连接失败的次数
max_connect_errors=10
 
#默认使用"mysql_native_password"插件认证
default_authentication_plugin=mysql_native_password
 
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
 
#开启查询缓存
explicit_defaults_for_timestamp=true
 
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
#等待超时时间秒
wait_timeout=60
 
#交互式连接超时时间秒
interactive-timeout=600
secure_file_priv=/var/lib/mysql
 
[client]
default-character-set=UTF8MB4

附件:docker-compose.yaml 添加了 mysql

复制代码
version: '3'
services:
  sonic-server-eureka:
    image: "sonicorg/sonic-server-eureka:v2.6.4"
    hostname: sonic-server-eureka
    environment:
      - SONIC_EUREKA_USERNAME
      - SONIC_EUREKA_PASSWORD
      - SONIC_EUREKA_PORT
      - SONIC_EUREKA_HOST=sonic-server-eureka
    volumes:
      - ./logs/:/logs/
    networks:
      - sonic-network
    ports:
      - "${SONIC_EUREKA_PORT}:${SONIC_EUREKA_PORT}"
  sonic-server-gateway:
    image: "sonicorg/sonic-server-gateway:v2.6.4"
    hostname: sonic-server-gateway
    environment:
      - SONIC_EUREKA_USERNAME
      - SONIC_EUREKA_PASSWORD
      - SONIC_EUREKA_PORT
      - SONIC_EUREKA_HOST=sonic-server-eureka
      - SECRET_KEY
      - EXPIRE_DAY
    volumes:
      - ./logs/:/logs/
    depends_on:
      - sonic-server-eureka
    networks:
      - sonic-network
    restart: on-failure
  sonic-server-controller:
    image: "sonicorg/sonic-server-controller:v2.6.4"
    environment:
      - SONIC_EUREKA_USERNAME
      - SONIC_EUREKA_PASSWORD
      - SONIC_EUREKA_PORT
      - SONIC_EUREKA_HOST=sonic-server-eureka
      - MYSQL_HOST
      - MYSQL_PORT
      - MYSQL_DATABASE
      - MYSQL_USERNAME
      - MYSQL_PASSWORD
      - SONIC_SERVER_HOST
      - SONIC_SERVER_PORT
      - SECRET_KEY
      - EXPIRE_DAY
      - REGISTER_ENABLE
      - NORMAL_USER_ENABLE
      - LDAP_USER_ENABLE
      - LDAP_USER_ID
      - LDAP_BASE_DN
      - LDAP_BASE
      - LDAP_USERNAME
      - LDAP_PASSWORD
      - LDAP_URL
      - LDAP_OBJECT_CLASS
    networks:
      - sonic-network
    volumes:
      - ./logs/:/logs/
    depends_on:
      - sonic-server-eureka
    restart: on-failure
  sonic-server-folder:
    image: "sonicorg/sonic-server-folder:v2.6.4"
    environment:
      - SONIC_EUREKA_USERNAME
      - SONIC_EUREKA_PASSWORD
      - SONIC_EUREKA_HOST=sonic-server-eureka
      - SONIC_EUREKA_PORT
      - SONIC_SERVER_HOST
      - SONIC_SERVER_PORT
      - SECRET_KEY
      - EXPIRE_DAY
    networks:
      - sonic-network
    volumes:
      - ./keepFiles/:/keepFiles/
      - ./imageFiles/:/imageFiles/
      - ./recordFiles/:/recordFiles/
      - ./packageFiles/:/packageFiles/
      - ./logs/:/logs/
    depends_on:
      - sonic-server-eureka
    restart: on-failure
  sonic-client-web:
    image: "sonicorg/sonic-client-web:v2.6.4"
    environment:
      - SONIC_SERVER_HOST
      - SONIC_SERVER_PORT
    networks:
      - sonic-network
    depends_on:
      - sonic-server-gateway
    restart: on-failure
    ports:
      - "${SONIC_SERVER_PORT}:80"
  sonic-mysql:
      image: "mysql:5.7"
      command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
      environment:
        - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_DATABASE
      volumes:
        - /home/sonic/mysql/log:/var/log/mysql
        - /home/sonic/mysql/data:/var/lib/mysql
        - /home/sonic/mysql/conf:/etc/mysql
        - /home/sonic/mysql/my.cnf:/etc/mysql/my.cnf
        - /home/sonic/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/
      ports:
        - "3306:3306"
      networks:
        - sonic-network
networks:
  sonic-network:
    driver: bridge

避坑:3306:3306 端口只能是3306 不能其他的

2.Agent 端部署 | Sonic - 开源云真机平台 (sonic-cloud.cn)

agent.sh 搭建脚本

复制代码
#!/bin/bash
 

# 如果外部参数为 ready,则下载 Sonic Server 压缩包
if [ "$1" == "ready" ]; then
    # 设置代理
    export ALL_PROXY=http://172.28.128.1:1081
    
    # 下载 Sonic Server 压缩包
    curl -L https://ghproxy.com/https://github.com/SonicCloudOrg/sonic-agent/releases/download/v2.6.4/sonic-agent-v2.6.4-linux_x86_64.zip --output sonic-agent-v2.6.4-linux_x86_64.zip
    
    # # 取消代理
    export ALL_PROXY=
    
    # # 如果 unzip 命令不存在,则安装 unzip
    if ! command -v unzip &> /dev/null; then
        sudo apt install -y unzip
    fi
    
    # 解压 Sonic Server 压缩包
    unzip sonic-agent-v2.6.4-linux_x86_64.zip
    chmod -R 777 ../agent
fi

if [ "$1" == "cfg" ]; then
    export ALL_PROXY=http://172.28.128.1:1081
    # curl -L https://ghproxy.com/https://github.com/SonicCloudOrg/sonic-agent/releases/download/v2.6.4/docker-compose.yml --output docker-compose.yml 
    curl -L  https://github.com/SonicCloudOrg/sonic-agent/releases/download/v2.6.4/docker-compose.yml --output docker-compose.yml 
    export ALL_PROXY=
    # 前端界面【设备中心】的【Agent 中心】新增 Agent,记录 Agent 的 Key
fi

# 如果外部参数不为 ready,则启动 Docker 容器
if [ "$1" == "up" ]; then
    docker-compose up -d
fi

# 查看连接状态
if [ "$1" == "test" ]; then
    docker exec -it agent_sonic-agent_1 /bin/bash
    # 查看连接状态
    #adb devices
fi
相关推荐
kaoa00015 小时前
Linux入门攻坚——73、运维OS Provisioning阶段工具之PXE、Cobbler
linux·运维
Lugas Luo15 小时前
SATA Port Multiplier (SATA 集线器) 原理与驱动架构深度剖析
linux·嵌入式硬件
123过去15 小时前
fcrackzip使用教程
linux·网络·测试工具·安全
东北甜妹15 小时前
MYSQL
运维
水月天涯15 小时前
Mac系统下制作 Ubuntu镜像(小白教程)
linux·ubuntu·macos
A.A呐15 小时前
【Linux第二十三章】传输层
linux·运维·服务器
Yupureki15 小时前
《Linux网络编程》1.网络基础
linux·运维·服务器·c语言·网络·c++
ii_best15 小时前
自动化开发软件[按键精灵] 安卓/iOS脚本,变量作用域细节介绍
android·运维·ios·自动化
kongba00715 小时前
复刻 Claude Code 项目御马术缰绳系统 harness engineering 落地蓝图
java·linux·服务器
mhkxbq15 小时前
济南H3C服务器升级方案怎么选?R4700G5等多型号来解答
运维·服务器