Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 62 additions & 36 deletions blueprints/directus/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,6 @@
services:
database:
image: postgis/postgis:13-master
volumes:
- directus_database:/var/lib/postgresql/data

environment:
POSTGRES_USER: "directus"
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_DB: "directus"
healthcheck:
test: ["CMD", "pg_isready", "--host=localhost", "--username=directus"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s

cache:
image: redis:6
healthcheck:
test: ["CMD-SHELL", "[ $$(redis-cli ping) = 'PONG' ]"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s


directus:
image: directus/directus:11.12.0
image: directus/directus:12.1.1
ports:
- 8055
volumes:
Expand All @@ -39,25 +11,79 @@ services:
condition: service_healthy
cache:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget --spider -q http://127.0.0.1:8055/server/ping || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s
environment:
SECRET: ${DIRECTUS_SECRET}

DB_CLIENT: "pg"
DB_HOST: "database"
DB_PORT: "5432"
DB_DATABASE: "directus"
DB_USER: "directus"
DB_PASSWORD: ${DATABASE_PASSWORD}
DB_DATABASE: ${DB_NAME}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}

CACHE_ENABLED: "true"
CACHE_AUTO_PURGE: "true"
CACHE_STORE: "redis"
REDIS: "redis://cache:6379"

# After first successful login, remove the admin email/password env. variables below
# as these will now be stored in the database.
ADMIN_EMAIL: "admin@example.com"
ADMIN_PASSWORD: "d1r3ctu5"
WEBSOCKETS_ENABLED: "true"
PUBLIC_URL: ${PUBLIC_URL}
LICENSE_KEY: ${LICENSE_KEY}

# After first successful login, remove ADMIN_EMAIL and ADMIN_PASSWORD below.
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}

STORAGE_LOCATIONS: "local"
STORAGE_LOCAL_DRIVER: "local"
STORAGE_LOCAL_ROOT: "/directus/uploads"

# S3-compatible storage — uncomment and set S3_* env vars in template.toml.
# STORAGE_LOCATIONS: "s3"
# STORAGE_S3_DRIVER: "s3"
# STORAGE_S3_KEY: ${S3_ACCESS_KEY}
# STORAGE_S3_SECRET: ${S3_SECRET_KEY}
# STORAGE_S3_BUCKET: ${S3_BUCKET}
# STORAGE_S3_REGION: ${S3_REGION}
# STORAGE_S3_ENDPOINT: ${S3_ENDPOINT}
# STORAGE_S3_ROOT: ${S3_ROOT}
# STORAGE_S3_FORCE_PATH_STYLE: ${S3_FORCE_PATH_STYLE}
# STORAGE_S3_ACL: "private"

database:
image: postgis/postgis:13-master
volumes:
- directus_database:/var/lib/postgresql/data

environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
healthcheck:
test: ["CMD-SHELL", "pg_isready --host=localhost --username=$$POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s

cache:
image: redis:6
healthcheck:
test: ["CMD-SHELL", "[ $$(redis-cli ping) = 'PONG' ]"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s

volumes:
directus_uploads:
directus_extensions:
Expand Down
4 changes: 2 additions & 2 deletions blueprints/directus/meta.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"id": "directus",
"name": "Directus",
"version": "11.0.2",
"version": "12.1.1",
"description": "Directus is an open source headless CMS that provides an API-first solution for building custom backends.",
"logo": "directus.jpg",
"links": {
"github": "https://github.com/directus/directus",
"website": "https://directus.io/",
"docs": "https://docs.directus.io/"
"docs": "https://directus.com/docs/"
},
"tags": [
"cms"
Expand Down
33 changes: 31 additions & 2 deletions blueprints/directus/template.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,41 @@
[variables]
main_domain = "${domain}"
public_url = "https://${main_domain}"
directus_secret = "${base64:64}"
database_password = "${password}"
db_password = "${password:32}"
db_user = "directus"
db_name = "directus"
admin_email = "${email}"
admin_password = "${password:24}"
license_key = ""

# Object storage (S3-compatible) — uncomment when switching from local to S3.
# s3_access_key = ""
# s3_secret_key = ""
# s3_bucket = ""
# s3_region = "us-east-1"
# s3_endpoint = "https://s3.amazonaws.com"
# s3_root = ""
# s3_force_path_style = "false"

[config]
env = [
"DATABASE_PASSWORD=${database_password}",
"PUBLIC_URL=${public_url}",
"DIRECTUS_SECRET=${directus_secret}",
"DB_PASSWORD=${db_password}",
"DB_USER=${db_user}",
"DB_NAME=${db_name}",
"ADMIN_EMAIL=${admin_email}",
"ADMIN_PASSWORD=${admin_password}",
"LICENSE_KEY=${license_key}",
# Uncomment when enabling S3 storage in docker-compose.yml:
# "S3_ACCESS_KEY=${s3_access_key}",
# "S3_SECRET_KEY=${s3_secret_key}",
# "S3_BUCKET=${s3_bucket}",
# "S3_REGION=${s3_region}",
# "S3_ENDPOINT=${s3_endpoint}",
# "S3_ROOT=${s3_root}",
# "S3_FORCE_PATH_STYLE=${s3_force_path_style}",
]
mounts = []

Expand Down
Loading