From 9944964e2ebe69aec208f4b086ec20ab98fce511 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 10 Mar 2025 16:37:09 +0100 Subject: [PATCH] docker-compose backend + dockerfile including sync extension Includes a directus backend in the docker-compose file and the extension `directus-sync` to allow the persisting of the directus configuration. --- backend/Dockerfile | 12 ++++++++++++ backend/extensions/package.json | 6 ++++++ docker-compose.yml | 21 +++++++++++---------- 3 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 backend/Dockerfile create mode 100644 backend/extensions/package.json diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 00000000..d5ad7d3d --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,12 @@ +FROM node:20-alpine as third-party-ext +RUN apk add python3 g++ make +WORKDIR /extensions +ADD extensions . +RUN npm install +# Move all extensions the starts with directus-extension-, using find, to the /extensions/directus folder +RUN mkdir -p ./directus +RUN cd node_modules && find . -maxdepth 1 -type d -name "directus-extension-*" -exec mv {} ../directus \; + +FROM directus/directus:11.4.1 +# Copy third party extensions +COPY --from=third-party-ext /extensions/directus ./extensions \ No newline at end of file diff --git a/backend/extensions/package.json b/backend/extensions/package.json new file mode 100644 index 00000000..7deef02b --- /dev/null +++ b/backend/extensions/package.json @@ -0,0 +1,6 @@ +{ + "name": "directus-extensions", + "dependencies": { + "directus-extension-sync": "^3.0.2" + } +} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index a58ac726..b5acca7e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,13 +7,14 @@ services: volumes: - ./dist:/srv:ro - #backend: - # image: directus/directus - # container_name: backend - # ports: - # - 8055:8055 - # environment: - # - SECRET=SECRET - # - PUBLIC_URL=http://localhost - # - ADMIN_EMAIL=admin@it4c.dev - # - ADMIN_PASSWORD=admin123 \ No newline at end of file + backend: + container_name: backend + build: + context: ./backend + ports: + - 8055:8055 + environment: + - SECRET=SECRET + - PUBLIC_URL=http://localhost + - ADMIN_EMAIL=admin@it4c.dev + - ADMIN_PASSWORD=admin123 \ No newline at end of file