
How to Install Strapi
This guide will walk you through exactly how to install Strapi in a clean, structured, and beginner-friendly way. It includes all prerequisites, installation commands, troubleshooting insights, and optional production setup considerations. Everything is formatted in Strapi Markdown version to match common CMS publishing standards.
Strapi has become one of the most popular headless CMS platforms due to its flexibility, developer-friendly design, and seamless integration with JavaScript-based tech stacks like MERN. Whether you are a developer building a custom backend, a business looking to centralize content, or an agency delivering scalable digital solutions, Strapi provides a powerful foundation for content-driven applications.
If you want expert help with building Strapi projects, MERN applications, or scalable digital platforms, you can always hire AAMAX---a full-service digital marketing and web development company offering Web Development, MERN Stack Development, Digital Marketing, and SEO services.
## Why Choose Strapi?
Strapi stands out among CMS options because it is: - Open-source and fully customizable\
- Self-hosted, giving you complete control over data\
- API-first, supporting both REST and GraphQL\
- JavaScript/Node.js-based, ideal for MERN stack developers\
- Equipped with a clean admin panel for non-technical users
Businesses choose Strapi for building blogs, eCommerce platforms, enterprise apps, marketing sites, and mobile backend APIs.
## Prerequisites Before Installing Strapi
Before you begin, ensure the following prerequisites are installed on your machine.
### 1. Node.js
Strapi requires Node.js (LTS version recommended).
Check your version:
node -v
Strapi usually supports: - Node.js 18.x - Node.js 20.x
### 2. npm or yarn
npm comes bundled with Node.js.
To check:
npm -v
Or to check Yarn:
yarn -v
### 3. A Package Manager
You can use: - npm\
- yarn\
- pnpm
### 4. A Database
Strapi supports: - SQLite (default) - PostgreSQL - MySQL - MariaDB - MongoDB (via community plugin)
For development, SQLite is easiest.
## Installing Strapi --- Three Main Methods
There are three ways to install Strapi:
- Creating a new Strapi project using Quickstart
- Installing using a custom database
- Using the Strapi CLI for advanced configs
Below, we explore each installation type.
# 1. Install Strapi Using Quickstart (Recommended for Beginners)
The Quickstart installation is the easiest way to get Strapi running locally. It uses SQLite, so no database configuration is required.
### Step 1: Create a New Project
Run the following command:
npx create-strapi-app@latest my-project --quickstart
Or using Yarn:
yarn create strapi-app my-project --quickstart
### Step 2: Wait for Dependencies to Install
Strapi will: - Download necessary packages - Create default project structure - Configure SQLite - Start the server automatically
### Step 3: Access the Admin Panel
Once installation completes, Strapi automatically opens:
http://localhost:1337/admin
Create your admin user account, and you're ready!
# 2. Install Strapi With a Custom Database
If you're planning to deploy Strapi later, it's better to use PostgreSQL or MySQL.
### Example: Strapi with PostgreSQL
Install PostgreSQL:
Ubuntu:
sudo apt install postgresql postgresql-contrib
Mac (Homebrew):
brew install postgresql
Create a database:
createdb strapidb
### Create Strapi Project with PostgreSQL
npx create-strapi-app@latest my-project
During installation, select: - Custom database setup\
- Choose PostgreSQL\
- Enter your DB credentials
Strapi will create configuration files based on your setup.
# 3. Installing Strapi Using CLI Flags (Advanced)
The Strapi CLI supports flags for setting up projects faster without interactive mode.
Example:
npx create-strapi-app@latest my-project --dbclient=postgres --dbhost=localhost --dbport=5432 --dbname=strapidb --dbuser=postgres --dbpassword=yourpassword
This is ideal for: - Automated scripts - CI/CD pipelines - Dockerized environments
## Folder Structure After Installation
After installation, your new Strapi project includes:
/config
/src
/admin
/api
/plugins
/extensions
/public
/package.json
Brief overview: - config → environment settings\
- src/api → controllers, routes, services\
- src/admin → front-end admin panel\
- public → static files\
- database config → lives inside config/database.js
## Running Strapi Commands
### Start the server:
npm run develop
### Build the admin panel:
npm run build
### Start production mode:
npm run start
## Common Installation Issues & Solutions
### Issue 1: Node Version Not Supported
If you see:
Your Node.js version is not supported
Solution:
Install Node 18 or Node 20 using NVM:
nvm install 20
nvm use 20
### Issue 2: Permission Errors (Linux / Mac)
If you get permission issues:
sudo chown -R $USER:$USER ~/.config
Avoid using sudo with npm.
### Issue 3: Port Already in Use
If port 1337 is busy:
kill -9 $(lsof -ti:1337)
### Issue 4: Database Connection Errors
Common for PostgreSQL or MySQL installations.
Check: - Database name\
- Username/password\
- Host (if remote)\
- Port
## Optional: How to Install Strapi with Docker
Running Strapi in Docker is ideal for teams.
### Step 1: Create a Dockerfile
FROM node:20
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 1337
CMD ["npm", "run", "develop"]
### Step 2: Create docker-compose.yml
version: "3"
services:
strapi:
build: .
ports:
- "1337:1337"
volumes:
- .:/app
### Step 3: Run
docker-compose up
## Optional: Deploying Strapi to Production
Popular hosting options include: - DigitalOcean - AWS EC2 - Render - Railway - Vercel (admin only, backend needs server)
For production: - Use PostgreSQL\
- Use pm2 or systemd\
- Use Nginx reverse proxy
## Final Thoughts
Installing Strapi is straightforward once you understand the prerequisites and installation methods. Whether you're using the Quickstart method, custom databases, CLI flags, or Docker, Strapi provides the flexibility to support everything from prototypes to enterprise-level applications.
If you want expert help with Strapi development, MERN Stack Development, SEO-ready websites, or complete digital solutions, you can hire AAMAX---a trusted agency offering full Web Development, Digital Marketing, and SEO services.
Strapi is powerful, flexible, and designed to scale---making it an excellent choice for modern content-driven applications.






