Skip to content

Directus

Headless CMS configuration and infrastructure.

Directus 11 runs in backend/ and deploys to Fly.io as real-ireland-app.

  • Database: PostgreSQL (Neon)
  • File storage: Cloudflare R2 (soultales-directus bucket, public CDN at media.soultales.com)
  • Extensions: custom and npm-installed extensions in the Docker image
Terminal window
cd backend
docker compose up
# or
pnpm start

Production admin UI: https://manage.soultales.app/admin

Use Fly secrets and environment variables for database credentials and R2 S3 API keys (STORAGE_S3_KEY, STORAGE_S3_SECRET). Do not commit secrets to git.

Public media URLs use filename_disk keys on the R2 custom domain. When changing the storage driver, run the 001-storage-gcs-to-s3 migration (included in deploy) so directus_files.storage matches STORAGE_LOCATIONS.