Self-Hosting Overview
Minimum hardware
| Resource | Minimum | Recommended | |---|---|---| | CPU | 2 vCPU | 4 vCPU | | RAM | 4 GB | 8 GB | | Disk | 40 GB SSD | 80 GB SSD | | Network | 1 Gbps | 1 Gbps + IPv4 |
A single-region shop with up to a few thousand products and modest traffic comfortably runs on 2 vCPU / 4 GB RAM. Add resources as catalog and traffic grow.
Operating system
Ubuntu 22.04 LTS or 24.04 LTS. Other distros work but the one-click installer and helper scripts assume Ubuntu.
Services
The stack consists of:
| Service | Version | Role | |---|---|---| | Node.js | 20 LTS | Runs all three Next/Medusa processes | | PostgreSQL | 16 | Primary database | | Redis | 7 | Cache + session + job queue | | nginx | 1.24+ | Reverse proxy, TLS termination, static assets | | PM2 | 6 | Process manager |
All can run on the same box for small deployments. For production scale, split DB to a dedicated host.
Topology
โโโโโโโโโโโโโโโโโโโโโโโโโโ
visitor โโโโถ โ nginx :443 (TLS) โ
โโโฌโโโโโโโโโโโฌโโโโโโโโโโฌโโ
โ โ โ
/app/* โ /admin/*+/store/*โ everything else
โ /auth/* โ
โผ โผ
admin-panel :3001 nextjs-storefront :8000
โ โ
โโโโโโโโโโโฌโโโโโโโโโโโโ
โผ
medusa-backend :9000
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โผ โผ โผ
PostgreSQL Redis Local FS
/opt/carphacom/installed
Filesystem layout
/opt/carphacom/
current/ # symlink to active release
releases/<timestamp>/ # immutable releases
medusa-backend/
admin-panel/
nextjs-storefront/
installed/ # installed plugins/themes (per release)
marketplace-files/ # static assets (icons, screenshots)
shared/
logs/
backups/
Networks
Open inbound: :80 (HTTPโHTTPS redirect), :443 (TLS). Optionally :22 (SSH, restricted
by firewall). All other ports are bound to localhost.
Outbound: carphacom.com for marketplace catalog and license verification, :443 to your
configured payment provider (e.g. Stripe), and to your SMTP relay if you send transactional
email.
Where to go next
- One-Click Vultr Install for the fast path.
- Environment Variables for manual configuration.
- Backups & Restore before going live.
- Security Checklist before exposing publicly.