Directus
stack.yml
version: '3'
services:
database:
container_name: database
image: postgis/postgis:13-master
#read_only: true
#cap_drop:
# - ALL
volumes:
- database:/var/lib/postgresql/data
networks:
- directus
environment:
POSTGRES_USER: 'directus'
POSTGRES_PASSWORD: 'oWVC25hUBZBC5pVk1NG7ZXeci'
POSTGRES_DB: 'directus'
deploy:
labels:
shepherd_autoupdate:
directus:
container_name: directus
image: directus/directus:10
volumes:
# By default, uploads are stored in /directus/uploads
# Always make sure your volumes matches the storage root when using
# local driver
- uploads:/directus/uploads
# Make sure to also mount the volume when using SQLite
# - ./database:/directus/database
# If you want to load extensions from the host
# - ./extensions:/directus/extensions
networks:
- directus
- traefik
depends_on:
- database
environment:
KEY: 'HLKfFgcTevMowG8iSDYCa6APC'
SECRET: 'mkTkYFkvMlBVFn4JT0Pe3BCZV'
DB_CLIENT: 'pg'
DB_HOST: 'database'
DB_PORT: '5432'
DB_DATABASE: 'directus'
DB_USER: 'directus'
DB_PASSWORD: 'oWVC25hUBZBC5pVk1NG7ZXeci'
EMAIL_TRANSPORT: 'smtp'
EMAIL_FROM: 'no-reply@directus.example.com'
EMAIL_SMTP_HOST: 'in-v3.mailjet.com'
EMAIL_SMTP_PORT: '465'
EMAIL_SMTP_USER: 'CJriCzWCPKco2FoVwHzokqZxJ'
EMAIL_SMTP_PASSWORD: 'HeHUMUhuT7euOywAmj8PZpNyY'
EMAIL_SMTP_SECURE: 'true'
ADMIN_EMAIL: 'directus@example.com'
ADMIN_PASSWORD: 'zOskrA9INrOTv7hjjYmFWsoR0'
# Make sure to set this in production
# (see https://docs.directus.io/self-hosted/config-options/#general)
PUBLIC_URL: 'https://directus.example.com'
labels:
- 'traefik.enable=true'
- 'traefik.docker.network=traefik'
- 'traefik.http.routers.directus.rule=Host(`directus.example.com`)'
- 'traefik.http.routers.directus.entrypoints=websecure'
- 'traefik.http.routers.directus.tls.certresolver=myresolver'
- 'traefik.http.routers.directus.tls.domains[0].main=example.com'
- 'traefik.http.routers.directus.tls.domains[0].sans=*.example.com'
- 'traefik.http.services.directus.loadbalancer.server.port=8055'
- 'traefik.http.middlewares.directus_loadshedding.inflightreq.amount=5'
- 'traefik.http.middlewares.directus_ratelimit.ratelimit.average=1'
- 'traefik.http.middlewares.directus_ratelimit.ratelimit.burst=70'
- 'traefik.http.routers.directus.middlewares=directus_ratelimit@docker'
deploy:
labels:
shepherd_autoupdate:
networks:
directus:
traefik:
external: true
volumes:
database:
uploads: