Skip to content

Deployment Overview and Selection Guide

Last Updated: 2026-03-14

If you have not decided which deployment method to use, read this page first, then jump to the detailed guide.

2. How to Choose a Deployment Method

MethodDifficultyBest ForKey CharacteristicsGuide
Single Binary (fullstack)LowComplete beginners / want to avoid DockerOne binary + one Redis container, zero orchestrationSingle Binary Deployment
Docker ComposeMediumUsers who need standardized and repeatable deploymentContainer isolation, clear upgrade/rollback path, automation-friendlyDocker Compose Deployment
aaPanel Manual DeploymentLow-MediumUsers already running aaPanelGUI-oriented operations, suitable for panel-based maintenanceaaPanel Deployment
Manual Deployment (Build from source)HighAdvanced customization and secondary developmentHighest control and flexibilityManual Deployment

3. Pre-Deployment Checklist

  • Prepare a Linux server and domain(s) that resolve to your public IP (one domain each for storefront and admin panel)
  • Plan your ports (at minimum API port + web ports)
  • Set strong random keys in config.yml:
    • jwt.secret
    • user_jwt.secret
  • Choose your data stack:
    • Lightweight: SQLite + Redis
    • Recommended for production: PostgreSQL + Redis
  • Choose one default admin initialization method:
    • Environment variables: DJ_DEFAULT_ADMIN_USERNAME / DJ_DEFAULT_ADMIN_PASSWORD
    • config.yml: bootstrap.default_admin_username / bootstrap.default_admin_password
  • You're a complete beginner who just wants to get up and running fast: use Single Binary Deployment.
  • New user: start with Docker Compose; if you already use aaPanel, go directly to the aaPanel guide.
  • Long-term operations with stable repeatability: use Docker Compose.
  • Deep customization or local build workflow: use manual deployment.

5. After Deployment

  1. Verify service status:
    • API health endpoint: /health
    • User/Admin pages accessible
  2. Change the admin password immediately after first login.
  3. Configure payment settings and callback URLs (see Payment Configuration & Callback Guide).
  4. Enable HTTPS in your reverse proxy, panel, or container ingress layer according to the deployment method you selected.

Released under the MIT License.