65 lines
2.4 KiB
YAML
65 lines
2.4 KiB
YAML
---
|
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json
|
|
services:
|
|
ghost:
|
|
# Do not alter this without updating the Tinybird Sync container as well
|
|
image: ghost:${GHOST_VERSION:-6-alpine}
|
|
restart: always
|
|
expose:
|
|
- "127.0.0.1:${GHOST_PORT:-2368}:2368"
|
|
# This is required to import current config when migrating
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
NODE_ENV: production
|
|
url: https://${DOMAIN:?DOMAIN environment variable is required}
|
|
admin__url: ${ADMIN_DOMAIN:+https://${ADMIN_DOMAIN}}
|
|
database__client: mysql
|
|
database__connection__host: db
|
|
database__connection__user: ${DATABASE_USER:-ghost}
|
|
database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required}
|
|
database__connection__database: ghost
|
|
tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit
|
|
tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-}
|
|
tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-}
|
|
tinybird__tracker__datasource: analytics_events
|
|
tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co}
|
|
volumes:
|
|
- ${UPLOAD_LOCATION:-./data/ghost}:/var/lib/ghost/content
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
tinybird-sync:
|
|
condition: service_completed_successfully
|
|
required: false
|
|
tinybird-deploy:
|
|
condition: service_completed_successfully
|
|
required: false
|
|
activitypub:
|
|
condition: service_started
|
|
required: false
|
|
|
|
db:
|
|
image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9
|
|
restart: always
|
|
expose:
|
|
- "3306"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD:?DATABASE_ROOT_PASSWORD environment variable is required}
|
|
MYSQL_USER: ${DATABASE_USER:-ghost}
|
|
MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required}
|
|
MYSQL_DATABASE: ghost
|
|
MYSQL_MULTIPLE_DATABASES: activitypub
|
|
volumes:
|
|
- ${MYSQL_DATA_LOCATION:-./data/mysql}:/var/lib/mysql
|
|
- ./mysql-init:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1
|
|
interval: 1s
|
|
start_period: 30s
|
|
start_interval: 10s
|
|
retries: 120
|
|
env_file:
|
|
- .env
|
|
|