This guide uses Docker Compose to run Ghost in containers.
For Docker installation, see Docker.
cat <<'YAML' > docker-compose.yml
services:
db:
image: mariadb:10.6
restart: unless-stopped
environment:
MYSQL_DATABASE: cms
MYSQL_USER: cms
MYSQL_PASSWORD: change-me
MYSQL_ROOT_PASSWORD: change-me
app:
image: node:18
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
working_dir: /app
volumes:
- ./app:/app
command: "npm start"
YAML
docker compose up -d
Open http://YOUR-SERVER:8080 and complete the setup.
💼 Professional Services: Need expert help with your Ghost Docker deployment? We offer consulting, training, and support. Contact our team →