Skip to content

Installation Overview

Epusdt supports multiple deployment methods. For most users, Docker is the simplest and safest starting point.

1. Docker Deployment

Best for most users.

Use Docker when you want:

  • quick setup
  • isolated runtime
  • straightforward upgrades
  • a predictable production layout

Docker deployment guide

2. BaoTa Panel Deployment

Best for panel-based server management.

Use BaoTa when you want:

  • GUI-based website and database management
  • easy SSL and reverse proxy setup
  • a familiar panel workflow

BaoTa deployment guide

3. Manual Deployment

Best for operators who want full control.

Use manual deployment when you want:

  • source builds
  • custom process supervision
  • deeper integration with your own Linux stack

Manual deployment guide

4. Cloudflare Pages Deployment

For the documentation site only.

Cloudflare Pages can host the static epusdt-docs VitePress site.

It does not run the Epusdt payment service itself.

Cloudflare Pages guide

Before You Deploy

Prepare these items first:

  • a public domain or server address for the Epusdt service
  • a TronGrid API key
  • database settings if you plan to use MySQL or PostgreSQL
  • an api_auth_token
  • optional Telegram bot token and admin ID

Important Deployment Notes

app_uri is a public URL, not a route prefix

In the current source code, Epusdt serves its routes at root-relative paths such as:

  • /payments/epusdt/v1/order/create-transaction
  • /payments/gmpay/v1/order/create-transaction
  • /pay/checkout-counter/:trade_id
  • /pay/check-status/:trade_id

app_uri is used to build absolute URLs returned by the service, especially the checkout link. It does not make the app internally mount under /something.

If you want to expose Epusdt under a subpath such as /epusdt, that must be handled by your reverse proxy or ingress rules. In practice, a dedicated domain or subdomain is much simpler and matches the current source layout better.

Keep API routes and checkout routes separate

Two route groups matter during deployment:

  • Create-order API: /payments/...
  • Hosted checkout pages: /pay/...

Do not treat /pay/... as the API endpoint.

Common Configuration Items

KeyDescription
app_nameApplication name shown in the UI
app_uriPublic base URL used in generated checkout links
http_listenBind address for the HTTP server, default :8000
db_typesqlite, mysql, or postgres
db_*Database connection settings
tron_grid_api_keyTronGrid API credential
api_auth_tokenAPI signing/auth token
order_expiration_timeMinutes before an unpaid order expires
callback_retry_base_secondsBase delay for callback retries
order_notice_max_retryExtra callback retries after the first attempt

Which Method Should You Choose?

  • New deployment → Docker
  • BaoTa-based VPS → BaoTa Panel
  • Custom Linux operations → Manual
  • Public docs hosting → Cloudflare Pages

If you are unsure, start with Docker on a dedicated hostname such as pay.example.com.

最近更新