Strapi
★ 73.4kAbout
Community Ratings
No ratings yetNew this week
Read recap →Features
- Content-Type Builder
- REST APIs
- GraphQL APIs
- Roles & Permissions
- Media Library
- Internationalization
- Draft & Publish
- TypeScript support
- Plugin system
- Customizable admin dashboard
Details
- Last Updated
- Oct 31, 2026
- Created
- Sep 30, 2015
- Install Methods
- sourcedocker
- Requirements
- Node.jsOSSQLitePostgreSQLMySQLMariaDB
- Authentication
- local
- API
- RESTGRAPHQL
- Runtime / Stack
- Nodejs
- Privacy & Independence
- Cloud: Optional
- User Model
- Multi-User
- Deployment
Deployment: Docker Compose ✓2 Containers — light hosting footprintRuns as 2 containers
Run Strapi yourself
Pick how much you want to manage.
HetznerBest match
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
DigitalOcean
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
OVHcloud
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
1 more way to host
Is this your project? Sponsor a listing
Run Strapi with Docker Compose
Compose file from the Strapi project repository.
2 services · database: postgres · infra: postgres, mysql
no resource limits declared
needs persistent storage (2 volumes)
docker-compose.dev.yml · @ d333c01 · scanned Jun 4, 2026
version: '3'
services:
postgres:
image: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: strapi
POSTGRES_PASSWORD: strapi
POSTGRES_DB: strapi
ports:
- '5432:5432'
mysql:
image: mysql:8
restart: always
environment:
MYSQL_DATABASE: strapi
MYSQL_USER: strapi
MYSQL_PASSWORD: strapi
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_PASSWORD: strapi
volumes:
- mysqldata:/var/lib/mysql
ports:
- '3306:3306'
volumes:
pgdata:
mysqldata:
This file may be out of date. Check the Strapi documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.