Skip to content

Run ​

Updated: 10/15/26, 5:44:21 PM

This page is the single entry point for running DaxPay: it helps you pick the most suitable way to run it for your scenario, and covers prerequisites and post-start verification.

Ways to Run ​

ApproachBest forNotes
One-Click DeploymentProduction deployment, visual managementThe DaxPay operations panel guides you through deployment and day-to-day operations. Recommended for production environments.
Source BuildSecondary development, tailored deploymentClone the source and compile with mvnd / pnpm — for scenarios that require source modifications.
ConfigurationTuning profiles, ports, database, keys, etc.Required reading for production deployment and credential injection.

Recommended path

New to DaxPay? Go straight to one-click deployment — the guided wizard brings up the full stack locally in minutes.

Quick Start (Shortest Path from Source) ​

If you just want to get the source running locally and log in to the admin console, follow the six steps below — one command per step; click through the links for details:

StepActionCommand / Notes
1 Prepare middlewareStart PostgreSQL / Redis / ArtemisSee Middleware Preparation — one Compose file or three docker commands
2 Create the database and import dataCreate the daxpay-dev database and import the seed SQLSee Build - Database Preparation; order: table.sql → data.sql
3 Configure hostsThe dev config uses the postgresql / redis / mq hostnamesAppend 127.0.0.1 postgresql redis mq to hosts; see First-Start Notes
4 Start the backendmvnd spring-boot:run -Dspring-boot.run.profiles=devSee Build - Main App
5 Start the frontendpnpm install && pnpm run dev:adminSee Build - Web Admin
6 Log inVisit http://127.0.0.1:6999Default super admin account under Post-Start Verification

Prerequisites ​

EnvironmentVersionNotes
JDK25+Java runtime (not needed for containerized deployment — bundled in the image)
mvndLatestMaven Daemon, speeds up source compilation
Node.js^22.13.0 || ^24.0.0Frontend build environment
pnpm>=10.0.0Package manager (mandatory; npm/yarn disabled)
PostgreSQL14+Primary database
Redis7+Distributed cache
Apache ArtemisLatestJMS message queue for delayed payment notifications

The database must be created in advance (UTF8 encoding, public schema) and the seed SQL imported; database naming conventions and import steps are covered in Build - Database Preparation.

Middleware Preparation ​

Bring up the three middleware services with Docker. The credentials match the defaults in the in-repo application-dev.yml, so everything works out of the box.

Option 1: Docker Compose (recommended)

Save the following as docker-compose.yml and bring everything up with docker compose up -d:

yaml
services:
  # PostgreSQL (container name matches the postgresql hostname in the dev config)
  postgresql:
    image: postgres:14
    container_name: postgresql
    ports:
      - "5432:5432"
    environment:
      POSTGRES_DB: daxpay-dev
      POSTGRES_USER: bootx
      POSTGRES_PASSWORD: bootx123
    volumes:
      - pg-data:/var/lib/postgresql/data

  # Redis
  redis:
    image: redis:7
    container_name: redis
    ports:
      - "6379:6379"
    command: redis-server --requirepass bootx123

  # Apache Artemis (message queue; a hard dependency of the dev config — the main app cannot start without it)
  mq:
    image: apache/activemq-artemis:latest
    container_name: mq
    ports:
      - "8161:8161"
      - "61616:61616"
    environment:
      ARTEMIS_USER: admin
      ARTEMIS_PASSWORD: admin

volumes:
  pg-data:

Option 2: Three docker commands

bash
# PostgreSQL (container name matches the postgresql hostname in the dev config)
docker run -d --name postgresql -p 5432:5432 \
  -e POSTGRES_DB=daxpay-dev -e POSTGRES_USER=bootx -e POSTGRES_PASSWORD=bootx123 \
  postgres:14

# Redis
docker run -d --name redis -p 6379:6379 redis:7 --requirepass bootx123

# Apache Artemis (message queue; a hard dependency of the dev config — the main app cannot start without it)
docker run -d --name mq -p 8161:8161 -p 61616:61616 \
  -e ARTEMIS_USER=admin -e ARTEMIS_PASSWORD=admin \
  apache/activemq-artemis:latest

If you already have instances of these middleware services, simply update the connection settings in application-dev.yml instead of creating new ones.

First-Start Notes ​

The in-repo application-dev.yml connects via the hostnames postgresql / redis / mq (not localhost). Before the first start, do one of the following:

  • Append a mapping to your hosts file (C:\Windows\System32\drivers\etc\hosts on Windows, /etc/hosts on Linux/macOS):
    127.0.0.1 postgresql redis mq
  • Or change the hostnames in application-dev.yml back to 127.0.0.1 / localhost and adjust the credentials to your actual setup

Default database account bootx / bootx123, Redis password bootx123, Artemis admin / admin — consistent with the docker commands above.

App Ports ​

AppPortHealth check
Main app dax-pay-open9999http://127.0.0.1:9999/actuator/health
Channel sub-app dax-pay-channel-one20100http://127.0.0.1:20100/actuator/health
Channel sub-app dax-pay-channel-two20200http://127.0.0.1:20200/actuator/health
Channel sub-app dax-pay-channel-three20300http://127.0.0.1:20300/actuator/health
Admin Web (dev)6999—
Merchant Web (dev)7999—
Standalone H5 (dev)9500—
uni-app admin (H5 dev)9000—
uni-app merchant (H5 dev)9100—

Post-Start Verification ​

bash
# Main app health check, expect {"status":"UP"}
curl http://localhost:9999/actuator/health

# Channel sub-app
curl http://localhost:20100/actuator/health

Once started successfully, you can access:

  • The main app console prints 应用 'dax-pay-open' 运行成功!
  • API docs (dev): http://127.0.0.1:9999/swagger-ui/index.html
  • Admin Web (dev): http://127.0.0.1:6999
  • Merchant Web (dev): http://127.0.0.1:7999
  • H5 (dev): http://127.0.0.1:9500

Default Login ​

After importing the seed SQL, the system ships with a built-in super administrator account:

ItemValue
Accountbootx
Password121212
Can sign in toAdmin Web only

Super admin is for development only

The super administrator is controlled by daxpay.platform.starter.auth.enable-admin: on by default in dev, forcibly disabled in prod. Create your own administrator accounts for production — see Configuration - Super Administrator.

Scenarios such as debugging payment callbacks locally or opening the H5 on a phone require an intranet tunnel — see Local Debugging.

Running the Cross-Platform Apps ​

The admin, merchant, and cashier clients are all driven through pnpm and the uni CLI. H5, the three mini-program targets, and App differ in tooling and output directories — the complete workflow lives in Cross-Platform Apps.

  • Go-Live Guide: the main track after deployment is done — account security, platform configuration, merchant onboarding, and channel integration, through to the first successful payment
  • Build: source compilation and output paths per app (one section per app)
  • Cross-Platform Apps: running, building, and publishing the uni-app clients
  • Configuration: profile switching, database, Redis, keys, and production environment variables (one section per app)
  • Local Debugging: intranet tunneling, callback domains, and on-phone H5 debugging