Run
This page is the single entry point for running DaxPay — helping you pick the right approach for your scenario, listing prerequisites, and showing how to verify a successful start.
Ways to Run
| Approach | Best for | Notes |
|---|---|---|
| Docker Compose | Fastest tryout, local integration | One command brings up PostgreSQL / Redis / Artemis / main app / channel sub-app. Recommended for first-time users. |
| Source Build | Customization, tailored deployment | Clone and compile with mvnd when you need to modify the source. |
| Configuration | Tuning Profile, ports, DB, secrets | Required reading for production deployment and credential injection. |
Recommended path
New to DaxPay? Start with Docker Compose — the full stack is up and running in minutes.
Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| JDK | 25+ | Java runtime (not needed for containerized deploy — bundled in image) |
| mvnd | Latest | Maven Daemon, speeds up source compilation |
| Node.js | ^22.13.0 || ^24.0.0 | Frontend build |
| pnpm | >=10.0.0 | Package manager (required; npm/yarn disabled) |
| PostgreSQL | 14+ | Primary database |
| Redis | 7+ | Distributed cache |
| Apache Artemis | Latest | JMS broker for delayed payment notifications |
Create the database in advance (UTF8, public schema) and import the seed SQL — see Build - Database Preparation (table.sql then data.sql, in order).
Quick Middleware Setup
Three docker commands bring up all middleware. Credentials match the defaults in application-dev.yml:
# PostgreSQL (container name matches the dev config host `postgresql`)
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 (required at dev startup; the app fails to start without a broker)
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 run these services, just edit the connection settings in application-dev.yml instead.
First-Start Note
The in-repo application-dev.yml connects via the hostnames postgresql / redis / mq (not localhost). Before the first start, either append 127.0.0.1 postgresql redis mq to your hosts file (C:\Windows\System32\drivers\etc\hosts on Windows, /etc/hosts elsewhere), or change the hostnames in the yml to 127.0.0.1 / localhost with your actual credentials.
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 | — |
| H5 (dev) | 9500 | — |
| Mini-App Admin (H5 dev) | 9000 | — |
| Docs (dev) | 5173 | — |
Fastest Path: Docker Compose
Once your .env is ready (DB / Redis / Artemis / RSA / AES credentials — see Configuration):
# Bring up all services
docker compose --env-file .env up -d
# Tail main app logs
docker compose logs -f daxpay-openFor the full docker-compose.yml template see Docker.
Verify
# Main app health, expect {"status":"UP"}
curl http://localhost:9999/actuator/health
# Channel sub-app
curl http://localhost:20100/actuator/healthOnce started, visit:
- The main app console prints
应用 'dax-pay-open' 运行成功! - API docs (dev):
http://127.0.0.1:9999/swagger-ui/index.html - Admin (dev):
http://127.0.0.1:6999 - Merchant (dev):
http://127.0.0.1:7999 - H5 (dev):
http://127.0.0.1:9500
Default Login
After importing the seed SQL, a built-in super administrator account exists:
| Item | Value |
|---|---|
| Account | bootx |
| Password | 121212 |
| Works on | Admin Web only |
Dev only
The super admin is controlled by daxpay.platform.starter.auth.enable-admin — on in dev, forcibly disabled in prod. Create your own admin account for production. See Configuration.
For callback debugging and testing the H5 on a phone, see Local Debugging.
Cross-Platform Apps
The admin, merchant, and cashier uni-app clients use pnpm and uni CLI. H5, mini-program, and App targets use different output directories and tools. See Cross-Platform Apps for the complete development and build workflow.
Related Sections
- Build: source compilation and bare-metal startup details
- Cross-Platform Apps: uni-app client development, builds, and publishing
- Configuration: Profile switching, database, Redis, secrets, and production env vars
- Docker: image building and the full docker-compose template