Deploy a Strapi CMS on OrbixPanel
Strapi is a Node.js headless CMS, so it deploys like any Node server app: OrbixPanel builds it and runs it behind a reverse proxy.
Scripts in your repo
Strapi ships the right scripts by default:
{ "scripts": { "build": "strapi build", "start": "strapi start" }}OrbixPanel runs npm ci → npm run build → npm start. The build step compiles
the admin panel; strapi start runs the server.
The $PORT rule
Strapi reads its port from config/environment. OrbixPanel sets a PORT env var and
proxies to it — make sure Strapi uses it. In config/server.js:
module.exports = ({ env }) => ({ host: '0.0.0.0', port: env.int('PORT', 1337),});(Strapi honors HOST/PORT env vars — binding 0.0.0.0 and env PORT is what
lets the reverse proxy reach it.)
Database
Don’t run Strapi on its default SQLite in production. Create a database (PostgreSQL or MySQL) and point Strapi at it with environment variables:
DATABASE_CLIENT=postgresDATABASE_HOST=127.0.0.1DATABASE_PORT=5432DATABASE_NAME=strapiDATABASE_USERNAME=strapiDATABASE_PASSWORD=•••••Also set Strapi’s secrets (APP_KEYS, JWT_SECRET, etc.) as
environment variables — never commit them.
Deploy
Apps → Deploy from Git → repo + branch → Deploy → add your domain + SSL. See how deploys work.
Gotchas
- Admin build is memory-hungry — if the build is killed, see disk & memory.
- 502 after deploy → Strapi isn’t binding
0.0.0.0:$PORT, or the DB connection failed on boot. Check the deploy log.
Running OrbixPanel? Strapi deploys from Git with a managed Postgres/MySQL alongside. OrbixPanel.com → — the free, self-hosted, AI-powered hosting control panel.