# 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"]