mirror of
https://github.com/jeffvli/feishin.git
synced 2024-11-20 06:27:09 +01:00
28bb699024
* Moved build to docker stage. * Do not copy node_modules to the docker image * Optimize Docker builds * Lock a predefined server with enviroment variables * Added a example docker compose file * Removed useless layer * Fix error with empty server type * pass process via preload, use file, strict server check * remove duplicate content-type * update readme, docker compose * bugfix: server lock false, not jellyfin * fix preload type definition * fix docker, web server lock check --------- Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
23 lines
683 B
Docker
23 lines
683 B
Docker
# --- Builder stage
|
|
FROM node:18-alpine as builder
|
|
WORKDIR /app
|
|
|
|
#Copy package.json first to cache node_modules
|
|
COPY package.json package-lock.json .
|
|
# Scripts include electron-specific dependencies, which we don't need
|
|
RUN npm install --legacy-peer-deps --ignore-scripts
|
|
#Copy code and build with cached modules
|
|
COPY . .
|
|
RUN npm run build:web
|
|
|
|
# --- Production stage
|
|
FROM nginx:alpine-slim
|
|
|
|
COPY --chown=nginx:nginx --from=builder /app/release/app/dist/web /usr/share/nginx/html
|
|
COPY ./settings.js.template /etc/nginx/templates/settings.js.template
|
|
COPY ng.conf.template /etc/nginx/templates/default.conf.template
|
|
|
|
ENV PUBLIC_PATH="/"
|
|
EXPOSE 9180
|
|
CMD ["nginx", "-g", "daemon off;"]
|