From cc5708fb9acd63767a8909c9299e0f09a6e57ce0 Mon Sep 17 00:00:00 2001 From: HarbourHeading Date: Sat, 3 Aug 2024 21:37:23 +0200 Subject: [PATCH] Updated Dockerfiles and docker-compose --- backend/Dockerfile | 1 + docker-compose.yml | 43 ++++++++++++++++++++++++------------------- frontend/Dockerfile | 2 +- frontend/nginx.conf | 7 ++----- 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index a8df373..1b2cbf5 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -2,6 +2,7 @@ FROM python:3.10-alpine WORKDIR /backend +RUN pip3 install --upgrade pip COPY requirements.txt . RUN pip3 install -r requirements.txt diff --git a/docker-compose.yml b/docker-compose.yml index f41b2d1..6d317c3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,22 @@ services: - server: + nginx: + build: + context: ./frontend + dockerfile: Dockerfile + container_name: nginx + ports: + - "80:80" + depends_on: + - backend + networks: + - app-network + + backend: build: context: ./backend dockerfile: Dockerfile container_name: backend - ports: + expose: - "5000:5000" labels: - "database=mongodb" @@ -15,32 +27,25 @@ services: - DATABASE_ROOT_USERNAME=$DATABASE_ROOT_USERNAME - DATABASE_ROOT_PASSWORD=$DATABASE_ROOT_PASSWORD - DATABASE_NAME=$DATABASE_NAME - depends_on: - - mongodb - - client: - build: - context: ./frontend - dockerfile: Dockerfile - container_name: frontend - ports: - - "80:80" - depends_on: - - server + networks: + - app-network - mongodb: + database: image: mongo:latest container_name: database + ports: + - "27017:27017" env_file: .env environment: - MONGO_INITDB_ROOT_USERNAME=$DATABASE_ROOT_USERNAME - MONGO_INITDB_ROOT_PASSWORD=$DATABASE_ROOT_PASSWORD - MONGO_INITDB_DATABASE=$DATABASE_NAME - ports: - - "27017:27017" volumes: - ./data/db:/data/db - ./data/docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro + networks: + - app-network -volumes: - db: \ No newline at end of file +networks: + app-network: + driver: bridge diff --git a/frontend/Dockerfile b/frontend/Dockerfile index a76a3b4..2b74f31 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -12,7 +12,7 @@ RUN npm run build FROM nginx:1.25.2-alpine-slim -COPY --from=builder dist /usr/share/nginx/html +COPY --from=builder frontend/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 diff --git a/frontend/nginx.conf b/frontend/nginx.conf index a8d1ec8..5d0f450 100644 --- a/frontend/nginx.conf +++ b/frontend/nginx.conf @@ -1,20 +1,17 @@ server { listen 80; - server_name localhost; - location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ /index.html; } - location /api { + location /api/ { proxy_pass http://backend:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } - -} \ No newline at end of file +}