Prerequisites
Required
| Component | Version | Purpose |
|---|---|---|
| .NET SDK | 10.0+ | Build and run the API |
| PostgreSQL | 17+ | Primary database |
| RabbitMQ | 3.x+ | Event bus (outbox publishing) |
| Node.js | 22+ | Build frontends (Storefront & Backoffice) |
Optional
| Component | Version | Purpose |
|---|---|---|
| Docker | 24+ | Containerized deployment |
| Qdrant | 1.x+ | Vector search / AI recommendations |
| Stripe Account | — | Payment processing |
| Iyzico Account | — | Payment processing (Turkey) |
| Twilio Account | — | SMS/Voice notifications + phone verification |
| AI Provider | — | AI chat assistant (Ollama, OpenAI, Claude, or Azure OpenAI) |
License File
Quark Commerce requires a valid license file signed with RSA-4096. The license is validated on every API request via middleware. You need:
- Public key (Base64) — provided by the license server
- License file (Base64) — generated and signed by the license server
For local development, the license file path is configured in appsettings.Development.json. For production, use environment variables (see Configuration Reference).
info
Without a valid license, the API will return 403 Forbidden on all endpoints except /health, /swagger, and /api/admin/license.
Network Requirements
| Service | Default Port | Protocol |
|---|---|---|
| Quark API | 8080 | HTTP |
| PostgreSQL | 5432 | TCP |
| RabbitMQ | 5672 (AMQP), 15672 (Management UI) | TCP |
| Qdrant | 6333 (HTTP), 6334 (gRPC) | TCP |