You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1020 B
42 lines
1020 B
FROM node:20-slim as builder |
|
|
|
WORKDIR /home/node/app |
|
|
|
COPY . . |
|
|
|
RUN npm install |
|
|
|
RUN npm run build |
|
################################################################################## |
|
FROM node:20-slim |
|
|
|
WORKDIR /home/node/app |
|
|
|
RUN mkdir -p /opt/database |
|
RUN mkdir -p /opt/schema |
|
RUN mkdir -p /opt/logs |
|
|
|
COPY --from=builder /home/node/app/package.json package.json |
|
COPY --from=builder /home/node/app/package-lock.json package-lock.json |
|
COPY --from=builder /home/node/app/database database |
|
COPY --from=builder /home/node/app/.sequelizerc .sequelizerc |
|
COPY --from=builder /home/node/app/dist/server.min.cjs server.min.cjs |
|
|
|
RUN npm install --production |
|
|
|
RUN rm package.json |
|
RUN rm package-lock.json |
|
|
|
RUN npm install -g sequelize-cli |
|
|
|
RUN NODE_ENV=production sequelize db:migrate |
|
RUN NODE_ENV=production sequelize db:seed:all |
|
|
|
RUN mv /opt/database/suiviLootWow.db /opt/schema/suiviLootWow.db |
|
|
|
COPY ./docker-entrypoint.sh /docker-entrypoint.sh |
|
RUN chmod +x /docker-entrypoint.sh |
|
|
|
EXPOSE 3021 |
|
|
|
ENTRYPOINT "/docker-entrypoint.sh"
|
|
|