67 lines
2.4 KiB
YAML
67 lines
2.4 KiB
YAML
# Object Storage configuration for Ghost development environment
|
|
# Use with: docker compose -f compose.dev.yaml -f compose.dev.storage.yaml up
|
|
#
|
|
# This file adds MinIO (S3-compatible storage) and configures ghost-dev to use it.
|
|
# Without this file, Ghost uses local filesystem storage (the default).
|
|
|
|
services:
|
|
minio:
|
|
image: minio/minio:RELEASE.2024-12-13T22-19-12Z@sha256:149fdd73108553247ceee85fc65466f51034bd6e145d6e0c0e415167f5f1274f
|
|
container_name: ghost-dev-minio
|
|
command: server /data --console-address ':9001'
|
|
ports:
|
|
- "9000:9000" # S3 API
|
|
- "9001:9001" # Web console
|
|
environment:
|
|
- MINIO_ROOT_USER=minio-user
|
|
- MINIO_ROOT_PASSWORD=minio-pass
|
|
volumes:
|
|
- minio-data:/data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
|
|
interval: 1s
|
|
retries: 120
|
|
|
|
minio-setup:
|
|
image: minio/mc@sha256:a7fe349ef4bd8521fb8497f55c6042871b2ae640607cf99d9bede5e9bdf11727
|
|
container_name: ghost-dev-minio-setup
|
|
entrypoint: ["/bin/sh", "/setup.sh"]
|
|
environment:
|
|
- MINIO_ROOT_USER=minio-user
|
|
- MINIO_ROOT_PASSWORD=minio-pass
|
|
- MINIO_BUCKET=ghost-dev
|
|
volumes:
|
|
- ./docker/minio/setup.sh:/setup.sh:ro
|
|
depends_on:
|
|
minio:
|
|
condition: service_healthy
|
|
restart: "no"
|
|
|
|
ghost-dev:
|
|
environment:
|
|
# Object Storage - S3Storage adapter with MinIO backend
|
|
storage__media__adapter: S3Storage
|
|
storage__media__staticFileURLPrefix: content/media
|
|
storage__files__adapter: S3Storage
|
|
storage__files__staticFileURLPrefix: content/files
|
|
storage__S3Storage__bucket: ghost-dev
|
|
storage__S3Storage__region: us-east-1
|
|
storage__S3Storage__tenantPrefix: ab/ab1234567890abcdef1234567890abcd
|
|
storage__S3Storage__forcePathStyle: "true"
|
|
storage__S3Storage__cdnUrl: http://127.0.0.1:9000/ghost-dev
|
|
storage__S3Storage__staticFileURLPrefix: content/images
|
|
storage__S3Storage__endpoint: http://minio:9000
|
|
storage__S3Storage__accessKeyId: minio-user
|
|
storage__S3Storage__secretAccessKey: minio-pass
|
|
urls__media: http://127.0.0.1:9000/ghost-dev/ab/ab1234567890abcdef1234567890abcd
|
|
urls__files: http://127.0.0.1:9000/ghost-dev/ab/ab1234567890abcdef1234567890abcd
|
|
depends_on:
|
|
minio:
|
|
condition: service_healthy
|
|
minio-setup:
|
|
condition: service_completed_successfully
|
|
|
|
volumes:
|
|
minio-data:
|
|
|