diff --git a/Dockerfile b/Dockerfile index f218aeb..109471d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM node:20 as builder -WORKDIR /usr/src/app +WORKDIR /src/app COPY package*.json ./ @@ -8,18 +8,22 @@ RUN npm install COPY . . -RUN npm run build auth -RUN npm run build backend +RUN npm run build -FROM nginx:alpine +# Runtime stage +FROM node:20-alpine -RUN rm /etc/nginx/conf.d/default.conf +RUN apk add --no-cache nginx +COPY nginx.conf /etc/nginx/nginx.conf -COPY nginx.conf /etc/nginx/conf.d +WORKDIR /app -COPY --from=builder /usr/src/app/dist/apps/auth /usr/share/nginx/html/auth -COPY --from=builder /usr/src/app/dist/apps/backend /usr/share/nginx/html/backend +COPY --from=builder /src/app/dist/apps/auth ./auth +COPY --from=builder /src/app/dist/apps/backend ./backend +COPY package*.json ./ -EXPOSE 443 +RUN npm install -CMD ["nginx", "-g", "daemon off;"] +EXPOSE 80 + +CMD ["sh", "-c", "nginx -g 'daemon off;' & node auth/main.js & node backend/main.js"] diff --git a/bun.lockb b/bun.lockb index aafac72..d841218 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/nginx.conf b/nginx.conf index 6c402b4..6e330da 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,4 +1,8 @@ -events {} +worker_processes 1; + +events { + worker_connections 1024; +} http { include mime.types; @@ -7,18 +11,23 @@ http { keepalive_timeout 65; server { - listen 443; - server_name localhost; + listen 80; - location /auth { - alias /usr/share/nginx/html/auth; - try_files $uri $uri/ /auth/index.html; - } + location /auth { + proxy_pass http://localhost:7001; + 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; + } - location /backend { - alias /usr/share/nginx/html/backend; - try_files $uri $uri/ /backend/index.html; - } + location / { + proxy_pass http://localhost:7000; + 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; + } # error pages error_page 500 502 503 504 /50x.html;