feat(directus): upgrade template to Directus 12.1.1 (#986)

* feat(directus): upgrade template to Directus 12.1.1

* feat(directus): add commented S3 env variables to template.toml
This commit is contained in:
Marko Kostich
2026-07-20 04:25:33 +03:00
committed by GitHub
parent ceb65b216f
commit b4542d82f8
3 changed files with 95 additions and 40 deletions

View File

@@ -1,15 +1,73 @@
services:
directus:
image: directus/directus:12.1.1
ports:
- 8055
volumes:
- directus_uploads:/directus/uploads
- directus_extensions:/directus/extensions
depends_on:
database:
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: ${DB_NAME}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
CACHE_ENABLED: "true"
CACHE_AUTO_PURGE: "true"
CACHE_STORE: "redis"
REDIS: "redis://cache:6379"
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: "directus"
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_DB: "directus"
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
healthcheck:
test: ["CMD", "pg_isready", "--host=localhost", "--username=directus"]
test: ["CMD-SHELL", "pg_isready --host=localhost --username=$$POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 5
@@ -26,38 +84,6 @@ services:
start_interval: 5s
start_period: 30s
directus:
image: directus/directus:11.12.0
ports:
- 8055
volumes:
- directus_uploads:/directus/uploads
- directus_extensions:/directus/extensions
depends_on:
database:
condition: service_healthy
cache:
condition: service_healthy
environment:
SECRET: ${DIRECTUS_SECRET}
DB_CLIENT: "pg"
DB_HOST: "database"
DB_PORT: "5432"
DB_DATABASE: "directus"
DB_USER: "directus"
DB_PASSWORD: ${DATABASE_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"
volumes:
directus_uploads:
directus_extensions:

View File

@@ -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"

View File

@@ -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 = []