Spaces:
Runtime error
Runtime error
Mats Klein
commited on
Commit
•
64c4e12
1
Parent(s):
c43598f
adjust nginx config in dockerfile again
Browse files- Dockerfile +15 -23
Dockerfile
CHANGED
@@ -1,22 +1,4 @@
|
|
1 |
-
|
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 |
-
#
|
48 |
-
FROM nginx:stable-alpine
|
49 |
|
50 |
WORKDIR /usr/share/nginx/html
|
51 |
|
|
|
52 |
RUN rm -rf ./*
|
53 |
|
54 |
-
|
|
|
|
|
55 |
|
|
|
56 |
COPY --from=prod /app/dist .
|
57 |
|
|
|
|
|
|
|
58 |
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
59 |
|
60 |
-
|
|
|
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;"]
|