From 974e2d4345cd82823d4a907d175c662a3bd3c162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Alexander=20Str=C3=B8mseng?= Date: Thu, 9 May 2024 14:00:31 +0200 Subject: [PATCH] add docker entrypoint to try and run backend before frontend build. (#403) --- Dockerfile-frontend | 10 ++++++--- docker-compose.yml | 52 +++++++++++++++++++++++--------------------- docker-entrypoint.sh | 7 ++++++ 3 files changed, 41 insertions(+), 28 deletions(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile-frontend b/Dockerfile-frontend index 4f5dd12..8a8243e 100644 --- a/Dockerfile-frontend +++ b/Dockerfile-frontend @@ -1,8 +1,12 @@ FROM node:20 WORKDIR /usr/src/app/frontend +EXPOSE 3000 + COPY frontend /usr/src/app/frontend COPY .env.production /usr/src/app/frontend/.env.production RUN npm i -RUN npm run build -EXPOSE 3000 -CMD ["npm", "run", "start"] \ No newline at end of file + +COPY docker-entrypoint.sh / +RUN chmod +x /docker-entrypoint.sh + +ENTRYPOINT ["/bin/sh", "/docker-entrypoint.sh"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 47ed8ba..73334eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,28 +1,30 @@ version: "3.3" services: - backend: - restart: unless-stopped - volumes: - - type: bind - source: /var/data/ - target: /var/data/ - - type: bind - source: /var/data/outreachuploads - target: /usr/src/app/backend/public/uploads - build: - context: . - dockerfile: Dockerfile-backend - image: backend:outreach - ports: - - "1337:1337" - environment: - - NODE_ENV=production + backend: + restart: unless-stopped + volumes: + - type: bind + source: /var/data/ + target: /var/data/ + - type: bind + source: /var/data/outreachuploads + target: /usr/src/app/backend/public/uploads + build: + context: . + dockerfile: Dockerfile-backend + image: backend:outreach + ports: + - "1337:1337" + environment: + - NODE_ENV=production - frontend: - restart: unless-stopped - build: - context: . - dockerfile: Dockerfile-frontend - image: frontend:outreach - ports: - - "3000:3000" + frontend: + depends_on: + - backend + restart: unless-stopped + build: + context: . + dockerfile: Dockerfile-frontend + image: frontend:outreach + ports: + - "3000:3000" diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..f913431 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Build the Next site including SSG +npm run build + +# Start the production server +exec npm run start \ No newline at end of file