mirror of
https://github.com/ets-cfuhrman-pfe/EvalueTonSavoir.git
synced 2025-08-11 21:23:54 -04:00
32 lines
763 B
Text
32 lines
763 B
Text
|
|
# Use the Node base image
|
||
|
|
FROM node:18 AS quizroom
|
||
|
|
|
||
|
|
ENV PORT=4500
|
||
|
|
ENV ROOM_ID=000000
|
||
|
|
|
||
|
|
# Create a working directory
|
||
|
|
WORKDIR /usr/src/app
|
||
|
|
|
||
|
|
# Copy package.json and package-lock.json (if available) and install dependencies
|
||
|
|
COPY package*.json ./
|
||
|
|
RUN npm install
|
||
|
|
|
||
|
|
# Copy the rest of the source code to the container
|
||
|
|
COPY . .
|
||
|
|
|
||
|
|
# Ensure healthcheck.sh has execution permissions
|
||
|
|
COPY healthcheck.sh /usr/src/app/healthcheck.sh
|
||
|
|
RUN chmod +x /usr/src/app/healthcheck.sh
|
||
|
|
|
||
|
|
# Build the TypeScript code
|
||
|
|
RUN npm run build
|
||
|
|
|
||
|
|
# Expose WebSocket server port
|
||
|
|
EXPOSE ${PORT}
|
||
|
|
|
||
|
|
# Add healthcheck
|
||
|
|
HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 \
|
||
|
|
CMD /usr/src/app/healthcheck.sh
|
||
|
|
|
||
|
|
# Start the server using the compiled JavaScript file
|
||
|
|
CMD ["node", "dist/app.js"]
|