跳转到内容

环境依赖: JDK 17、Node.js 18+、Maven 3.6+、MySQL 8.0+

启动后端:

Terminal window
# 构建项目
mvn clean package -DskipTests
# 启动后端服务
java --add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.lang.reflect=ALL-UNNAMED \
-Ddb.host=${DB_HOST} \
-Ddb.port=${DB_PORT} \
-Ddb.name=${DB_NAME} \
-Ddb.username=${DB_USERNAME} \
-Ddb.password=${DB_PASSWORD} \
-jar himarket-bootstrap/target/himarket-bootstrap-1.0-SNAPSHOT.jar
# 后端 API 地址:http://localhost:8080

启动前端:

Terminal window
# 启动管理后台
cd himarket-web/himarket-admin
npm install
npm run dev
# 管理后台地址:http://localhost:5174
# 启动开发者门户
cd himarket-web/himarket-frontend
npm install
npm run dev
# 开发者门户地址:http://localhost:5173

包含以下服务组件:

  • MySQL: 数据库服务,为后端服务和 Nacos 提供数据存储;
  • Nacos: 配置中心,运行在 8848 端口;
  • Higress: AI 网关服务,控制台运行在 8001 端口,网关 HTTP 入口运行在 8082 端口;
  • Redis: Higress 缓存服务;
  • HiMarket Server: 后端 API 服务,运行在 8081 端口;
  • HiMarket Admin: 管理后台界面,运行在 5175 端口;
  • HiMarket Frontend: 开发者门户界面,运行在 5173 端口;
  • Sandbox: 远程沙箱服务,支持云 IDE 功能。

环境依赖: docker、docker compose、curl、jq

交互式部署(推荐):

Terminal window
# 克隆项目
git clone https://github.com/higress-group/himarket.git
cd himarket/deploy/docker
# 交互式部署,脚本会逐步引导完成所有配置
./install.sh

脚本会引导您完成镜像选择、密码设置、AI 模型配置等所有配置项。首次安装时,数据库密码和服务凭证会自动生成随机值。

非交互模式(CI/CD):

Terminal window
cp .env.example ~/himarket-install-docker.env
# 编辑 ~/himarket-install-docker.env 按需修改配置
./install.sh -n

卸载:

Terminal window
./install.sh --uninstall

升级:

重新运行 ./install.sh,脚本会自动检测已有部署并提供升级选项。配置自动保存到 ~/himarket-install-docker.env,升级时自动复用。

重试数据初始化:

Terminal window
# 仅重试初始化钩子,不重新部署服务
./install.sh --init-data
# 或手动执行单个钩子
cd hooks/post_ready.d
./10-init-nacos-admin.sh
服务主机端口说明
HiMarket Frontend5173开发者门户界面
HiMarket Admin5175管理后台界面
HiMarket Server8081后端 API 服务
Nacos8848Nacos 控制台
Higress Console8001Higress 控制台
Higress Gateway8082网关 HTTP 入口
MySQL3306数据库服务
Redis6379Redis 服务

配置文件为 ~/himarket-install-docker.env(交互模式下自动生成),也可从 .env.example 模板复制。主要配置项:

配置名配置说明默认值
HIMARKET_SERVER_IMAGEHiMarket 后端服务镜像opensource-registry…himarket-server:latest
HIMARKET_ADMIN_IMAGEHiMarket 管理后台镜像opensource-registry…himarket-admin:latest
HIMARKET_FRONTEND_IMAGEHiMarket 前台服务镜像opensource-registry…himarket-frontend:latest
MYSQL_IMAGEMySQL 镜像地址opensource-registry…mysql:latest
NACOS_IMAGENacos 镜像地址nacos-registry…nacos-server:v3.2.1-2026.03.30
HIGRESS_IMAGEHigress 镜像地址higress-registry…all-in-one:latest
REDIS_IMAGERedis 镜像地址higress-registry…redis-stack-server:7.4.0-v3
SANDBOX_IMAGESandbox 镜像地址opensource-registry…sandbox:latest
MYSQL_ROOT_PASSWORDMySQL Root 密码自动生成
MYSQL_PASSWORDMySQL 应用密码自动生成
NACOS_ADMIN_PASSWORDNacos 管理员密码自动生成
HIGRESS_USERNAMEHigress 登录用户名admin
HIGRESS_PASSWORDHigress 登录密码自动生成
ADMIN_USERNAME后台管理员用户名admin
ADMIN_PASSWORD后台管理员密码自动生成
FRONT_USERNAME前台默认用户名user
FRONT_PASSWORD前台默认密码自动生成
SKIP_AI_MODEL_INIT是否跳过 AI 模型初始化true
AI_MODEL_COUNTAI 模型数量0

完整配置项请参考 .env.example 文件。日志文件位于 ~/himarket-install-docker.log

Helm 是 Kubernetes 的包管理工具。通过 install.sh 脚本可在 K8s 集群上一键部署 HiMarket + Higress + Nacos 全栈服务,包含以下组件:

  • HiMarket:
    • himarket-server:后端 API 服务;
    • himarket-admin:管理后台界面;
    • himarket-frontend:开发者门户界面;
    • mysql:可选内置数据库;
    • sandbox-shared:远程沙箱服务。
  • Higress:
    • higress-console:Higress 控制台;
    • higress-controller:控制面组件;
    • higress-gateway:数据面组件;
    • redis-stack-server:缓存组件。
  • Nacos:
    • nacos:Nacos 应用;
    • nacos-mysql:Nacos 数据库。

服务类型说明:

默认为 LoadBalancer 类型服务,适用于云环境(阿里云 ACK、AWS EKS 等)。如果您的环境不支持 LoadBalancer(如本地 minikube、自建集群),可以使用 NodePort 或端口转发方式访问。

环境依赖: kubectl(已连接 K8s 集群)、helm、curl、jq、python3

交互式部署(推荐):

Terminal window
# 克隆项目
git clone https://github.com/higress-group/himarket.git
cd himarket/deploy/helm
# 交互式部署
./install.sh

非交互模式(CI/CD):

Terminal window
cp .env.example ~/himarket-install.env
# 编辑 ~/himarket-install.env 按需修改配置
./install.sh -n

卸载:

Terminal window
./install.sh --uninstall

升级:

重新运行 ./install.sh,脚本会自动检测已有部署并提供升级选项。配置自动保存到 ~/himarket-install.env,升级时自动复用。

重试数据初始化:

Terminal window
# 仅重试初始化钩子,不重新部署服务
./install.sh --init-data
# 或手动执行单个钩子
cd hooks/post_ready.d
./10-init-nacos-admin.sh

配置文件为 ~/himarket-install.env(交互模式下自动生成),也可从 .env.example 模板复制。主要配置项:

配置名配置说明默认值
NAMESPACEKubernetes 命名空间himarket
HIMARKET_HUBHiMarket 镜像仓库地址opensource-registry…higress-group
HIMARKET_IMAGE_TAGHiMarket 镜像标签latest
NACOS_VERSIONNacos 镜像版本v3.2.1-2026.03.30
MYSQL_ROOT_PASSWORDMySQL Root 密码自动生成
MYSQL_PASSWORDMySQL 应用密码自动生成
NACOS_ADMIN_PASSWORDNacos 管理员密码自动生成
HIGRESS_USERNAMEHigress 登录用户名admin
HIGRESS_PASSWORDHigress 登录密码自动生成
ADMIN_USERNAME后台管理员用户名admin
ADMIN_PASSWORD后台管理员密码自动生成
FRONT_USERNAME前台默认用户名user
FRONT_PASSWORD前台默认密码自动生成
MYSQL_STORAGE_CLASSMySQL 存储类alicloud-disk-essd
MYSQL_STORAGE_SIZEMySQL 存储大小50Gi
SANDBOX_STORAGE_CLASSSandbox 存储类alicloud-disk-essd
SANDBOX_STORAGE_SIZESandbox 存储大小50Gi
HIGRESS_INGRESS_CLASSHigress IngressClasshimarket
SKIP_AI_MODEL_INIT是否跳过 AI 模型初始化true
AI_MODEL_COUNTAI 模型数量0

完整配置项请参考 .env.example 文件。存储类 MYSQL_STORAGE_CLASSSANDBOX_STORAGE_CLASS 需根据实际 K8s 环境调整。日志文件位于 ~/himarket-install.log

阿里云计算巢支持该项目的开箱即用版本,可一键部署社区版:Deploy on AlibabaCloud ComputeNest