Hier erfährst du, wie du directus (das vielleicht beste CMS auf dem Markt), mithilfe von Docker-Compose schnell und einfach aufsetzen kannst.
Bestens geeignet, um auf dem lokalen Rechner directus zu testen, vor allem aber um direcus auf einem eigenen Linux Server zu installieren.
Bevor wir beginnen, stelle sicher, dass Docker und Docker Compose auf deinem System installiert ist.
Erstelle eine docker-compose.yml
-Datei im directus-docker
Ordner.
docker-compose.yml
services:
database:
image: postgis/postgis:13-master
# Required when running on platform other than amd64, like Apple M1/M2:
# platform: linux/amd64
volumes:
- ./data/database:/var/lib/postgresql/data
environment:
POSTGRES_USER: "directus"
POSTGRES_PASSWORD: "directus"
POSTGRES_DB: "directus"
cache:
image: redis:6
directus:
image: directus/directus:10.10.4
ports:
- 8055:8055
volumes:
- ./uploads:/directus/uploads
# If you want to load extensions from the host
# - ./extensions:/directus/extensions
depends_on:
- cache
- database
environment:
KEY: "255d861b-5ea1-5996-9aa3-922530ec40b1"
SECRET: "6116487b-cda1-52c2-b5b5-c8022c45e263"
DB_CLIENT: "pg"
DB_HOST: "database"
DB_PORT: "5432"
DB_DATABASE: "directus"
DB_USER: "directus"
DB_PASSWORD: "directus"
CACHE_ENABLED: "true"
CACHE_STORE: "redis"
REDIS: "redis://cache:6379"
ADMIN_EMAIL: "admin@example.com"
ADMIN_PASSWORD: "d1r3ctu5"
CORS_ENABLED: "true"
adminer:
container_name: adminer
image: adminer
environment:
# ADMINER_DESIGN: ${ADMINER_DESIGN:-dracula}
# ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha}
ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha-dark}
ports:
- "8008:8080"
depends_on:
database:
condition: service_started
Navigiere im Terminal zum directus-docker Ordner und führe folgenden Befehl aus:
docker-compose up
Unter http://localhost:8055 können wir nun directus aufrufen. Benutzername zum Anmelden ist wie in der docker-compose.yml Datei beschrieben.
Die docker-compose.yml Datei enthält auch ein adminer Image. Wir können über http://localhost:8008 adminer starten, um auf die Datenbank zuzugreifen. In einer Produktivumgebung wäre es besser adminer nicht standardmäßig zu starten, da dadurch auch die Angriffsoberläche des Servers erhöht wird.
Um weitere Instanzen von directus zu erstellen, können wir nun einfach den directus-docker Ordner kopieren, umbenennen und bei Schritt 2 weitermachen. Um directus im produktivbetrieb einzusetzen würde man noch einen nginx reverse proxy konfigurieren welcher ebenfalls in einem docker-container sitzt. Hier könnte man dann zusätzliche Sicherheit features wie einen Bot Blocker konfigurieren und SSL für die Seite einrichten. Ich werde dazu in einem kommenden Beitrag noch genauer eingehen.