Mats Klein commited on
Commit
64c4e12
1 Parent(s): c43598f

adjust nginx config in dockerfile again

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -23
Dockerfile CHANGED
@@ -1,22 +1,4 @@
1
- FROM node:current-bullseye-slim as dev
2
-
3
- WORKDIR /app
4
-
5
- COPY ./package.json .
6
- COPY ./package-lock.json .
7
-
8
- RUN npm install
9
-
10
- RUN echo "VITE_AUTH0_DOMAIN=$VITE_AUTH0_DOMAIN" > .env.local && \
11
- echo "VITE_AUTH0_CLIENT_ID=$VITE_AUTH0_CLIENT_ID" >> .env.local && \
12
- echo "VITE_JWT_AUDIENCE=$VITE_JWT_AUDIENCE" >> .env.local && \
13
- echo "VITE_JWT_ISSUER=$VITE_JWT_ISSUER" >> .env.local
14
-
15
- COPY entrypoint.sh ./entrypoint.sh
16
-
17
- RUN ["chmod", "+x", "entrypoint.sh"]
18
- ENTRYPOINT ["/app/entrypoint.sh"]
19
-
20
  FROM node:current-bullseye-slim as prod
21
 
22
  ARG VITE_AUTH0_DOMAIN
@@ -35,6 +17,7 @@ COPY package.json package-lock.json ./
35
 
36
  RUN npm install
37
 
 
38
  RUN echo "VITE_AUTH0_DOMAIN=$VITE_AUTH0_DOMAIN" > .env.production.local && \
39
  echo "VITE_AUTH0_CLIENT_ID=$VITE_AUTH0_CLIENT_ID" >> .env.production.local && \
40
  echo "VITE_JWT_AUDIENCE=$VITE_JWT_AUDIENCE" >> .env.production.local && \
@@ -44,19 +27,28 @@ COPY . .
44
 
45
  RUN npm run build
46
 
47
- # Prod Stage
48
- FROM nginx:stable-alpine
49
 
50
  WORKDIR /usr/share/nginx/html
51
 
 
52
  RUN rm -rf ./*
53
 
54
- RUN mkdir -p /etc/nginx/ssl
 
 
55
 
 
56
  COPY --from=prod /app/dist .
57
 
 
 
 
58
  COPY nginx.conf /etc/nginx/conf.d/default.conf
59
 
60
- EXPOSE 7680
 
61
 
 
62
  CMD ["nginx", "-g", "daemon off;"]
 
1
+ # Production stage for building the app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  FROM node:current-bullseye-slim as prod
3
 
4
  ARG VITE_AUTH0_DOMAIN
 
17
 
18
  RUN npm install
19
 
20
+ # Set environment variables for production
21
  RUN echo "VITE_AUTH0_DOMAIN=$VITE_AUTH0_DOMAIN" > .env.production.local && \
22
  echo "VITE_AUTH0_CLIENT_ID=$VITE_AUTH0_CLIENT_ID" >> .env.production.local && \
23
  echo "VITE_JWT_AUDIENCE=$VITE_JWT_AUDIENCE" >> .env.production.local && \
 
27
 
28
  RUN npm run build
29
 
30
+ # Nginx stage for serving the content
31
+ FROM nginx:stable-alpine as nginx-server
32
 
33
  WORKDIR /usr/share/nginx/html
34
 
35
+ # Remove default nginx static assets
36
  RUN rm -rf ./*
37
 
38
+ # Create cache directories for nginx and adjust permissions
39
+ RUN mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/proxy_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/uwsgi_temp /var/cache/nginx/scgi_temp && \
40
+ chmod -R 755 /var/cache/nginx/
41
 
42
+ # Copy static assets from builder stage
43
  COPY --from=prod /app/dist .
44
 
45
+ # Copy nginx configuration
46
+ COPY nginx.conf /etc/nginx/nginx.conf
47
+ # Ensure we use a modified default.conf that suits our needs
48
  COPY nginx.conf /etc/nginx/conf.d/default.conf
49
 
50
+ # Expose the port nginx is reachable on
51
+ EXPOSE 7860
52
 
53
+ # Use the "exec" form of CMD so Nginx shuts down gracefully on SIGTERM (i.e., `docker stop`)
54
  CMD ["nginx", "-g", "daemon off;"]