From 830a9280b4a768eab6315c3b457ad9f7c7b49a0e Mon Sep 17 00:00:00 2001 From: Giovani Rodriguez Date: Thu, 24 Jul 2025 16:59:31 +0000 Subject: [PATCH] fix: do proper backend docker build --- backend/Dockerfile | 4 +++- frontend/Dockerfile | 7 ++++++- generate_configs.py | 16 +++++++--------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 628cc31..cc618c3 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -7,4 +7,6 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] +ENV PYTHONPATH=/app + +CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/frontend/Dockerfile b/frontend/Dockerfile index d54402b..aeba658 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,8 +1,13 @@ -FROM node:20-alpine AS builder +FROM node:22-alpine AS builder WORKDIR /app COPY . . + RUN npm install && npm run build FROM nginx:alpine + +# Optional: use custom nginx config for React Router support +# COPY nginx.conf /etc/nginx/conf.d/default.conf + COPY --from=builder /app/build /usr/share/nginx/html diff --git a/generate_configs.py b/generate_configs.py index d55f0fc..f814ac7 100644 --- a/generate_configs.py +++ b/generate_configs.py @@ -18,7 +18,7 @@ while True: db_user = "minxa" db_password = secrets.token_urlsafe(16) db_name = "minxadb" -db_host = "minxa-db" +db_host = "db" db_port = 5432 hashids_salt = secrets.token_urlsafe(32) @@ -53,10 +53,8 @@ frontend_env_path.write_text(frontend_env) print(f"✅ frontend/.env written") # === Generate docker-compose.generated.yml === # -compose_yml = f"""version: "3.9" - -services: - minxa-db: +compose_yml = f"""services: + db: image: postgres:16 environment: POSTGRES_USER: {db_user} @@ -72,26 +70,26 @@ services: networks: - appnet - minxa-backend: + backend: build: context: ./backend env_file: - ./backend/.env depends_on: - minxa-db: + db: condition: service_healthy ports: - "8000:8000" networks: - appnet - minxa-frontend: + frontend: build: context: ./frontend env_file: - ./frontend/.env depends_on: - - minxa-backend + - backend ports: - "3000:80" networks: