ghost-mcp/docker-compose.yml

99 lines
No EOL
2.6 KiB
YAML

version: '3.8'
services:
ghost:
image: ghost:5-alpine
container_name: ghost-mcp-dev
restart: unless-stopped
ports:
- "2368:2368"
environment:
# Basic Ghost configuration
url: http://localhost:2368
NODE_ENV: development
# Database configuration
database__client: mysql
database__connection__host: ghost-db
database__connection__user: ${MYSQL_USER:-ghost}
database__connection__password: ${MYSQL_PASSWORD:-ghostpassword}
database__connection__database: ${MYSQL_DATABASE:-ghost_dev}
database__connection__charset: utf8mb4
# Admin configuration for easier access
admin__url: http://localhost:2368
# Logging configuration for development
logging__level: info
logging__transports: '["stdout"]'
# Privacy settings for development
privacy__useUpdateCheck: false
privacy__useVersionNotifications: false
# Mail configuration (optional - for testing)
mail__transport: SMTP
mail__from: ${GHOST_MAIL_FROM:-noreply@localhost}
mail__options__service: ${MAIL_SERVICE:-}
mail__options__auth__user: ${MAIL_USER:-}
mail__options__auth__pass: ${MAIL_PASSWORD:-}
volumes:
- ghost_content:/var/lib/ghost/content
depends_on:
ghost-db:
condition: service_healthy
networks:
- ghost-network
ghost-db:
image: mysql:8.0
container_name: ghost-db-dev
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${MYSQL_DATABASE:-ghost_dev}
MYSQL_USER: ${MYSQL_USER:-ghost}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-ghostpassword}
MYSQL_CHARSET: utf8mb4
MYSQL_COLLATION: utf8mb4_general_ci
volumes:
- ghost_mysql:/var/lib/mysql
networks:
- ghost-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 20s
retries: 10
interval: 10s
start_period: 40s
# Optional: phpMyAdmin for database management during development
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: ghost-phpmyadmin-dev
restart: unless-stopped
ports:
- "8080:80"
environment:
PMA_HOST: ghost-db
PMA_USER: ${MYSQL_USER:-ghost}
PMA_PASSWORD: ${MYSQL_PASSWORD:-ghostpassword}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
depends_on:
- ghost-db
networks:
- ghost-network
profiles:
- debug
volumes:
ghost_content:
name: ghost_mcp_content
ghost_mysql:
name: ghost_mcp_mysql
networks:
ghost-network:
name: ghost-mcp-network
driver: bridge