Open the server Apps tab
Select your VPS, open the Apps tab, and start a new app deployment.


Open-source headless commerce platform
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Medusa template in Server Compass to deploy a self-hosted headless commerce backend with PostgreSQL and Redis, then verify the health endpoint in a browser.
Select your VPS, open the Apps tab, and start a new app deployment.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find Medusa.

Choose the Medusa template. Server Compass fills the app image, PostgreSQL service, Redis service, persistent storage, URLs, and secrets.

Confirm the app name, compose services, and generated configuration.

Review the generated environment values, confirm the port is available, and click Deploy Now.

Keep the deployment modal open while Server Compass pulls images, starts services, and verifies the stack.

After deployment finishes, confirm the Medusa app is marked Running.

Open the application URL in a browser. The Medusa health endpoint confirms the app is reachable.

Medusa loaded successfully and displayed the health endpoint with the OK health response.
It deploys Medusa with PostgreSQL, Redis, and persistent local storage.
The tutorial used host port 9000, which maps to the Medusa web server on container port 9000.
Take the DIY route and deploy Medusa on your own server using Docker.
Fire up your terminal application and establish a connection to your remote server.
# Access your VPS
ssh root@YOUR_SERVER_IP
# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IPFirst time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/medusa
cd ~/apps/medusaDefine your services in a docker-compose.yml file:
services:
medusa:
image: jaspreet237/medusajsv2:latest
ports:
- "9000:9000"
environment:
- DATABASE_URL=postgres://medusa:<your-db-password>@db:5432/medusa?ssl_mode=disable
- NODE_ENV=development
- PGSSLMODE=disable
- REDIS_URL=redis://redis:6379
- JWT_SECRET=<your-jwt-secret>
- COOKIE_SECRET=<your-cookie-secret>
command: sh -lc "printf '%s\n' 'DATABASE_URL=postgres://medusa:<your-db-password>@db:5432/medusa?ssl_mode=disable' 'NODE_ENV=development' 'PGSSLMODE=disable' 'REDIS_URL=redis://redis:6379' 'JWT_SECRET=<your-jwt-secret>' 'COOKIE_SECRET=<your-cookie-secret>' 'STORE_CORS=*' 'ADMIN_CORS=*' 'AUTH_CORS=*' > .env && cp .env .env.development && ./node_modules/.bin/medusa db:setup --no-interactive --execute-safe-links && npm run dev"
restart: unless-stopped
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=medusa
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=medusa
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U medusa"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
postgres_data:
PORTHost port(default: 9000)JWT_SECRETJWT secretCOOKIE_SECRETCookie secretDB_PASSWORDDB passwordStart your containers and verify they're running correctly.
# Launch the stack
docker compose up -d
# Verify container status
docker compose ps
# Follow the logs
docker compose logs --followUpdate UFW rules to allow traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 9000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9000Forget SSH and YAML files. Deploy Medusa visually with Server Compass in just a few clicks.
After deploying Medusa with Server Compass, complete these steps to finish setup
Run migrations
Create admin user
Build storefront
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Medusa
Simply download Server Compass, connect to your VPS, and select Medusa from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Medusa requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Medusa backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Medusa image will be pulled and deployed with zero downtime.
Medusa is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Download Server Compass and deploy Medusa to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass