Skip to content

Environment Dependencies: JDK 17, Node.js 18+, Maven 3.6+, MySQL 8.0+

Start Backend:

Terminal window
# Build project
mvn clean package -DskipTests
# Start backend service
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
# Backend API address: http://localhost:8080

Start Frontend:

Terminal window
# Start management console
cd himarket-web/himarket-admin
npm install
npm run dev
# Management console address: http://localhost:5174
# Start developer portal
cd himarket-web/himarket-frontend
npm install
npm run dev
# Developer portal address: http://localhost:5173

Includes the following service components:

  • MySQL: Database service, providing data storage for backend services and Nacos;
  • Nacos: Configuration center, running on port 8848;
  • Higress: AI gateway service, console running on port 8001, gateway HTTP endpoint on port 8082;
  • Redis: Higress cache service;
  • HiMarket Server: Backend API service, running on port 8081;
  • HiMarket Admin: Management console interface, running on port 5175;
  • HiMarket Frontend: Developer portal interface, running on port 5173;
  • Sandbox: Remote sandbox service for cloud IDE functionality.

Environment Dependencies: docker, docker compose, curl, jq

Interactive Deployment (Recommended):

Terminal window
# Clone project
git clone https://github.com/higress-group/himarket.git
cd himarket/deploy/docker
# Interactive deployment, the script guides you through all configurations
./install.sh

The script guides you through image selection, password setup, AI model configuration, and more. On first install, database passwords and service credentials are automatically generated with random values.

Non-Interactive Mode (CI/CD):

Terminal window
cp .env.example ~/himarket-install-docker.env
# Edit ~/himarket-install-docker.env to modify configurations as needed
./install.sh -n

Uninstall:

Terminal window
./install.sh --uninstall

Upgrade:

Re-run ./install.sh, and the script will automatically detect existing deployments and provide upgrade options. Configurations are saved to ~/himarket-install-docker.env and reused for subsequent upgrades.

Retry Data Initialization:

Terminal window
# Retry initialization hooks only, without redeploying services
./install.sh --init-data
# Or manually execute individual hooks
cd hooks/post_ready.d
./10-init-nacos-admin.sh
ServiceHost PortDescription
HiMarket Frontend5173Developer portal UI
HiMarket Admin5175Management console UI
HiMarket Server8081Backend API service
Nacos8848Nacos console
Higress Console8001Higress console
Higress Gateway8082Gateway HTTP endpoint
MySQL3306Database service
Redis6379Redis service

The configuration file is ~/himarket-install-docker.env (auto-generated in interactive mode), or can be copied from the .env.example template. Key configuration items:

Configuration NameDescriptionDefault Value
HIMARKET_SERVER_IMAGEHiMarket backend service imageopensource-registry…himarket-server:latest
HIMARKET_ADMIN_IMAGEHiMarket management console imageopensource-registry…himarket-admin:latest
HIMARKET_FRONTEND_IMAGEHiMarket frontend service imageopensource-registry…himarket-frontend:latest
MYSQL_IMAGEMySQL image addressopensource-registry…mysql:latest
NACOS_IMAGENacos image addressnacos-registry…nacos-server:v3.2.1-2026.03.30
HIGRESS_IMAGEHigress image addresshigress-registry…all-in-one:latest
REDIS_IMAGERedis image addresshigress-registry…redis-stack-server:7.4.0-v3
SANDBOX_IMAGESandbox image addressopensource-registry…sandbox:latest
MYSQL_ROOT_PASSWORDMySQL root passwordAuto-generated
MYSQL_PASSWORDMySQL application passwordAuto-generated
NACOS_ADMIN_PASSWORDNacos admin passwordAuto-generated
HIGRESS_USERNAMEHigress login usernameadmin
HIGRESS_PASSWORDHigress login passwordAuto-generated
ADMIN_USERNAMEBackend admin usernameadmin
ADMIN_PASSWORDBackend admin passwordAuto-generated
FRONT_USERNAMEFrontend default usernameuser
FRONT_PASSWORDFrontend default passwordAuto-generated
SKIP_AI_MODEL_INITSkip AI model initializationtrue
AI_MODEL_COUNTNumber of AI models0

For the complete list of configuration items, refer to the .env.example file. Log file is located at ~/himarket-install-docker.log.

Helm is a package manager for Kubernetes. The install.sh script enables one-click deployment of HiMarket + Higress + Nacos full-stack services on a K8s cluster, including the following components:

  • HiMarket:
    • himarket-server: Backend API service;
    • himarket-admin: Management console interface;
    • himarket-frontend: Developer portal interface;
    • mysql: Optional built-in database;
    • sandbox-shared: Remote sandbox service.
  • Higress:
    • higress-console: Higress console;
    • higress-controller: Control plane component;
    • higress-gateway: Data plane component;
    • redis-stack-server: Cache component.
  • Nacos:
    • nacos: Nacos application;
    • nacos-mysql: Nacos database.

Service Type Description:

Default is LoadBalancer type service, suitable for cloud environments (Alibaba Cloud ACK, AWS EKS, etc.). If your environment does not support LoadBalancer (such as local minikube, self-built clusters), you can use NodePort or port forwarding to access.

Environment Dependencies: kubectl (connected to a K8s cluster), helm, curl, jq, python3

Interactive Deployment (Recommended):

Terminal window
# Clone project
git clone https://github.com/higress-group/himarket.git
cd himarket/deploy/helm
# Interactive deployment
./install.sh

Non-Interactive Mode (CI/CD):

Terminal window
cp .env.example ~/himarket-install.env
# Edit ~/himarket-install.env to modify configurations
./install.sh -n

Uninstall:

Terminal window
./install.sh --uninstall

Upgrade:

Re-run ./install.sh, and the script will automatically detect existing deployments and provide upgrade options. Configurations are saved to ~/himarket-install.env and reused for subsequent upgrades.

Retry Data Initialization:

Terminal window
# Retry initialization hooks only, without redeploying services
./install.sh --init-data
# Or manually execute individual hooks
cd hooks/post_ready.d
./10-init-nacos-admin.sh

The configuration file is ~/himarket-install.env (auto-generated in interactive mode), or can be copied from the .env.example template. Key configuration items:

Configuration NameDescriptionDefault Value
NAMESPACEKubernetes namespacehimarket
HIMARKET_HUBHiMarket image registry addressopensource-registry…higress-group
HIMARKET_IMAGE_TAGHiMarket image taglatest
NACOS_VERSIONNacos image versionv3.2.1-2026.03.30
MYSQL_ROOT_PASSWORDMySQL root passwordAuto-generated
MYSQL_PASSWORDMySQL application passwordAuto-generated
NACOS_ADMIN_PASSWORDNacos admin passwordAuto-generated
HIGRESS_USERNAMEHigress login usernameadmin
HIGRESS_PASSWORDHigress login passwordAuto-generated
ADMIN_USERNAMEBackend admin usernameadmin
ADMIN_PASSWORDBackend admin passwordAuto-generated
FRONT_USERNAMEFrontend default usernameuser
FRONT_PASSWORDFrontend default passwordAuto-generated
MYSQL_STORAGE_CLASSMySQL storage classalicloud-disk-essd
MYSQL_STORAGE_SIZEMySQL storage size50Gi
SANDBOX_STORAGE_CLASSSandbox storage classalicloud-disk-essd
SANDBOX_STORAGE_SIZESandbox storage size50Gi
HIGRESS_INGRESS_CLASSHigress IngressClasshimarket
SKIP_AI_MODEL_INITSkip AI model initializationtrue
AI_MODEL_COUNTNumber of AI models0

For the complete list of configuration items, refer to the .env.example file. Storage classes MYSQL_STORAGE_CLASS and SANDBOX_STORAGE_CLASS should be adjusted according to your K8s environment. Log file is located at ~/himarket-install.log.

4. Cloud Platform Deployment (Alibaba Cloud)

Section titled “4. Cloud Platform Deployment (Alibaba Cloud)”

Alibaba Cloud Computing Nest supports the out-of-the-box version of this project, with one-click deployment of the community edition: Deploy on AlibabaCloud ComputeNest