lego/back-end/Dockerfile.back
2024-10-25 11:03:08 +02:00

45 lines
918 B
Docker

# Start from NodeJS image
FROM node:22-alpine
# Workdir definition
WORKDIR /usr/src/back
# Environment declaration variables
ENV NODE_ENV="dev"
ENV DB_HOST="briques_postgres"
ENV DB_NAME="briques_db"
ENV DB_USER="briques_llm"
ENV DB_PASSWORD="briques_password_2025"
ENV DB_PORT=5432
COPY package.json ./
RUN npm install
RUN npm install -g pm2
# Copy sources
COPY . .
# Setting up environment
RUN echo "NODE_ENV=${NODE_ENV}" > .env \
&& echo "DB_HOST=${DB_HOST}" >> .env \
&& echo "DB_NAME=${DB_NAME}" >> .env \
&& echo "DB_USER=${DB_USER}" >> .env \
&& echo "DB_PORT=${DB_PORT}" >> .env \
&& echo "DB_PASSWORD=${DB_PASSWORD}" >> .env
# Compilation des fichiers TypeScript
RUN npm run build
# Review permissions
RUN chown -R node:node ./
RUN chmod -R u=rwx,g=,o= ./
# Expose port
EXPOSE 3000
# Start app
CMD ["npm", "run", "startonly"]
#CMD ["pm2", "start", "dist/app.js", "--no-daemon"]