fix(docker): handle .env file to read frontend vars during build easily (#513)

- Remove api/.env and .env from .dockerignore file
- Add COPY .env .env to Dockerfile to copy .env file to docker build
- Add RUN rm .env to Dockerfile to remove .env file after build
- Remove build args from docker-compose.yml file
This commit is contained in:
Danny Avila 2023-06-13 12:12:27 -04:00 committed by GitHub
parent 9d3e749104
commit 821b507e0e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 13 deletions

View file

@ -1,4 +1,2 @@
**/node_modules
api/.env
.env
client/dist/images

View file

@ -1,22 +1,19 @@
# Base node image
FROM node:19-alpine AS node
COPY . /app
# Copy .env file
COPY .env .env
# Install dependencies
WORKDIR /app
RUN npm ci
# Frontend variables as build args
ARG VITE_APP_TITLE
ARG VITE_SHOW_GOOGLE_LOGIN_OPTION
# You will need to add your VITE variables to the docker-compose file
ENV VITE_APP_TITLE=$VITE_APP_TITLE
ENV VITE_SHOW_GOOGLE_LOGIN_OPTION=$VITE_SHOW_GOOGLE_LOGIN_OPTION
# React client build
ENV NODE_OPTIONS="--max-old-space-size=2048"
RUN npm run frontend
# Remove .env file after build
RUN rm .env
# Node API setup
EXPOSE 3080
ENV HOST=0.0.0.0

View file

@ -23,9 +23,6 @@ services:
build:
context: .
target: node
args:
VITE_APP_TITLE: LibreChat # default, change to your desired app name
VITE_SHOW_GOOGLE_LOGIN_OPTION: false # default, change to true if you have google auth setup
# image: chatgptclone/app:latest # Uncomment this & comment above to build from docker hub image
restart: always
# extra_hosts: # if you are running APIs on docker you need access to, you will need to uncomment this line and next