Run
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
| Approach | Best for | Notes |
|---|---|---|
| One-Click Deployment | Production deployment, visual management | The DaxPay operations panel guides you through deployment and day-to-day operations. Recommended for production environments. |
| Source Build | Secondary development, tailored deployment | Clone the source and compile with mvnd / pnpm — for scenarios that require source modifications. |
| Configuration | Tuning 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:
| Step | Action | Command / Notes |
|---|---|---|
| 1 Prepare middleware | Start PostgreSQL / Redis / Artemis | See Middleware Preparation — one Compose file or three docker commands |
| 2 Create the database and import data | Create the daxpay-dev database and import the seed SQL | See Build - Database Preparation; order: table.sql → data.sql |
| 3 Configure hosts | The dev config uses the postgresql / redis / mq hostnames | Append 127.0.0.1 postgresql redis mq to hosts; see First-Start Notes |
| 4 Start the backend | mvnd spring-boot:run -Dspring-boot.run.profiles=dev | See Build - Main App |
| 5 Start the frontend | pnpm install && pnpm run dev:admin | See Build - Web Admin |
| 6 Log in | Visit http://127.0.0.1:6999 | Default super admin account under Post-Start Verification |
Prerequisites
| Environment | Version | Notes |
|---|---|---|
| JDK | 25+ | Java runtime (not needed for containerized deployment — bundled in the image) |
| mvnd | Latest | Maven Daemon, speeds up source compilation |
| Node.js | ^22.13.0 || ^24.0.0 | Frontend build environment |
| pnpm | >=10.0.0 | Package manager (mandatory; npm/yarn disabled) |
| PostgreSQL | 14+ | Primary database |
| Redis | 7+ | Distributed cache |
| Apache Artemis | Latest | JMS 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:
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
# 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:latestIf 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\hostson Windows,/etc/hostson Linux/macOS):127.0.0.1 postgresql redis mq - Or change the hostnames in
application-dev.ymlback to127.0.0.1/localhostand 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
| App | Port | Health check |
|---|---|---|
| Main app dax-pay-open | 9999 | http://127.0.0.1:9999/actuator/health |
| Channel sub-app dax-pay-channel-one | 20100 | http://127.0.0.1:20100/actuator/health |
| Channel sub-app dax-pay-channel-two | 20200 | http://127.0.0.1:20200/actuator/health |
| Channel sub-app dax-pay-channel-three | 20300 | http://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
# Main app health check, expect {"status":"UP"}
curl http://localhost:9999/actuator/health
# Channel sub-app
curl http://localhost:20100/actuator/healthOnce 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:
| Item | Value |
|---|---|
| Account | bootx |
| Password | 121212 |
| Can sign in to | Admin 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.
Related Sections
- 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