updated dockerfile w/ build stage before runtime image definition

This commit is contained in:
2026-02-23 20:38:53 +01:00
parent 76eca1b3b7
commit 91c81cafce
2 changed files with 35 additions and 3 deletions

View File

@@ -1,7 +1,39 @@
FROM nginx:1.23.1
FROM node:24.13.1 AS build
COPY public /usr/share/nginx/html
# Set the working directory for the build stage
WORKDIR /app
# Install dependencies
COPY package.json yarn.lock .
RUN yarn install --frozen-lockfile
# Copy source files that the build depends on
COPY index.html .
COPY public/ public/
COPY src/ src/
COPY tsconfig.json vite.config.ts .
ARG SEASONED_API=http://localhost:31459
ENV VITE_SEASONED_API=$SEASONED_API
ARG ELASTIC_URL=http://elastic.local:9200/tmdb-movies-shows
ENV VITE_ELASTIC_URL=$ELASTIC_URL
ARG ELASTIC_API_KEY=
ENV VITE_ELASTIC_API_KEY=$ELASTIC_API_KEY
RUN yarn build
FROM nginx:1.29.5
# Copy the static build from the previous stage
COPY index.html /usr/share/nginx/html
COPY public/ /usr/share/nginx/html
COPY --from=build /app/dist /usr/share/nginx/html
# Copy nginx config file
COPY nginx.conf /etc/nginx/conf.d/default.conf.template
# Manual entrypoint after nginx substring
COPY docker-entrypoint.sh /docker-entrypoint.d/05-docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.d/05-docker-entrypoint.sh

View File

@@ -2,7 +2,7 @@ server {
listen 5000 default_server;
listen [::]:5000 default_server;
server_name $SEASONED_DOMAIN;
server_name _;
root /usr/share/nginx/html;
gzip on;