How it helps your business
Key Benefits
- Developer First: Built with the latest industry standards focusing on DX and type safety.
- Extreme Flexibility: Modulate your commerce logic without fighting the core framework.
- GraphQL Power: Fetch exactly the data you need for your storefront with zero over-fetching.
- Cloud Native: Designed to be easily containerized and scaled on modern cloud providers.
- Asset Intelligence: Automatically handle image resizing and optimization for any device.
Production Architecture Overview
- Vendure Server: The NestJS-based application core.
- Worker Process: Handles background jobs like image processing and email sending.
- PostgreSQL / MySQL: The primary relational database.
- Redis: Used for task queuing (via BullMQ) and session management.
- Blob Storage: (S3 or MinIO) for product images and digital assets.
- Headless Storefront: (e.g., Next.js or Nuxt) consuming the GraphQL API.
How we deploy this for you
Security Hardened
Firewalls, SSL, and hardened kernels out of the box.
Performance Tuned
Optimized for speed with cache and DB fine-tuning.
Automated Backups
Daily off-site backups so you never lose your data.
Private Cloud
You own the server and the data. No middleman.
Implementation Blueprint
Prerequisites
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start dockerDocker Compose Production Setup
version: '3'
services:
server:
image: vendure/vendure:latest
ports:
- "3000:3000"
environment:
- DB_TYPE=postgres
- DB_HOST=db
- DB_PORT=5432
- DB_NAME=vendure
- DB_USERNAME=postgres
- DB_PASSWORD=password
- REDIS_HOST=redis
depends_on:
- db
- redis
restart: always
worker:
image: vendure/vendure:latest
command: node dist/index-worker.js
environment:
- DB_TYPE=postgres
- DB_HOST=db
- DB_NAME=vendure
- REDIS_HOST=redis
depends_on:
- db
- redis
restart: always
db:
image: postgres:15-alpine
environment:
- POSTGRES_DB=vendure
- POSTGRES_PASSWORD=password
volumes:
- pg_data:/var/lib/postgresql/data
restart: always
redis:
image: redis:7-alpine
restart: always
volumes:
pg_data:Kubernetes Production Deployment (Recommended)
# Deploy server and worker as separate pods
kubectl create deployment vendure-server --image=your-vendure-image:latest
kubectl create deployment vendure-worker --image=your-vendure-image:latest- Independent Scaling: Scale your search-heavy server pods separately from your job-heavy worker pods.
- Resilient Workers: Ensure that long-running background jobs don't impact the performance of your customer-facing API.
- Durable Storage: Use cloud-managed databases and S3 for maximum data reliability.
Scaling Strategy
- Elasticsearch Integration: Use the Vendure Elasticsearch plugin for high-performance product search and filtering.
- Job Queuing: Always use Redis in production to handle background tasks reliably.
- Global Storefronts: Use a CDN to cache your GraphQL API responses and serve your storefront files globally.
- Database Tuning: Use managed relational databases with proper indexing and memory allocation.
Backup & Security
- Regular Backups: Automate daily PostgreSQL/MySQL dumps and storage snapshots.
- HTTPS Enforcement: Use an Ingress controller or reverse proxy (NGINX) to provide SSL/TLS.
- Environment Secrets: Never hardcode API keys or secrets; use Kubernetes Secrets or environment variables.
- IP Filtering: Restrict access to the Vendure Admin UI and GraphQL Playground to trusted networks.
Includes Security & performance standards
Best place to host Vendure
We recommend Hostinger for its reliability and low cost. It's the perfect home for your new apps, featuring easy setup and 24/7 support.
Get Started on HostingerCompare Similar Tools
Kubernetes
Kubernetes is a production-grade, open-source platform for automating deployment, scaling, and operations of application containers.
Supabase
Supabase is the leading open-source alternative to Firebase. It provides a full backend-as-a-service (BaaS) powered by PostgreSQL, including authentication, real-time subscriptions, and storage.