From a8e1bbe0858ddb5fe72d9e3ad1698f4412982e1e Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 13 Mar 2025 18:53:14 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB(frontend)=20e?= =?UTF-8?q?nable=20frontend=20service=20in=20docker=20compose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added configuration to docker-compose stack allowing users to run the frontend in production mode. This simplifies the developer onboarding, for those wanting to run the project locally. --- Makefile | 22 +++++++++++++++++++--- compose.yml | 12 ++++++++++++ src/frontend/Dockerfile | 3 +++ 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6b74e65c..d6c50cdc 100644 --- a/Makefile +++ b/Makefile @@ -88,10 +88,20 @@ bootstrap: \ .PHONY: bootstrap # -- Docker/compose -build: ## build the app-dev container - @$(COMPOSE) build app-dev --no-cache +build: ## build the project containers + @$(MAKE) build-backend + @$(MAKE) build-frontend .PHONY: build +build-backend: ## build the app-dev container + @$(COMPOSE) build app-dev +.PHONY: build-backend + + +build-frontend: ## build the frontend container + @$(COMPOSE) build frontend +.PHONY: build-frontend + down: ## stop and remove containers, networks, images, and volumes @$(COMPOSE) down .PHONY: down @@ -100,10 +110,16 @@ logs: ## display app-dev logs (follow mode) @$(COMPOSE) logs -f app-dev .PHONY: logs -run: ## start the wsgi (production) and development server +run-backend: ## start only the backend application and all needed services @$(COMPOSE) up --force-recreate -d celery-dev @echo "Wait for postgresql to be up..." @$(WAIT_DB) +.PHONY: run-backend + +run: +run: ## start the wsgi (production) and development server + @$(MAKE) run-backend + @$(COMPOSE) up --force-recreate -d frontend .PHONY: run status: ## an alias for "docker compose ps" diff --git a/compose.yml b/compose.yml index 5e755de8..8eb9e204 100644 --- a/compose.yml +++ b/compose.yml @@ -95,6 +95,18 @@ services: depends_on: - keycloak + frontend: + user: "${DOCKER_USER:-1000}" + build: + context: . + dockerfile: ./src/frontend/Dockerfile + target: frontend-production + args: + VITE_API_BASE_URL: "http://localhost:8071" + image: meet:frontend-development + ports: + - "3000:8080" + dockerize: image: jwilder/dockerize platform: linux/x86_64 diff --git a/src/frontend/Dockerfile b/src/frontend/Dockerfile index c32ac588..410187d3 100644 --- a/src/frontend/Dockerfile +++ b/src/frontend/Dockerfile @@ -29,6 +29,9 @@ FROM meet AS meet-builder WORKDIR /home/frontend +ARG VITE_API_BASE_URL +ENV VITE_API_BASE_URL=${VITE_API_BASE_URL} + RUN npm run build # ---- Front-end image ----