This commit is contained in:
2025-01-07 06:22:59 +00:00
parent c485423911
commit ce7253b4b1
15 changed files with 234 additions and 10 deletions

View File

@@ -0,0 +1,44 @@
# Use the official Ubuntu base image
FROM ubuntu:22.04
# Set environment variables to avoid prompts during package installations
ENV DEBIAN_FRONTEND=noninteractive
# Update the package list and install necessary dependencies
RUN apt-get update && apt-get install -y \
curl \
gnupg2 \
build-essential \
unzip
RUN curl -fsSL https://fnm.vercel.app/install | bash \
&& export PATH="/root/.fnm:$PATH" \
&& eval "$(fnm env)" \
&& fnm install 22 \
&& fnm use 22 \
&& fnm alias default 22
# Install nodemon globally
RUN export PATH="/root/.fnm:$PATH" \
&& eval "$(fnm env)" \
&& npm install -g nodemon
# Set the working directory inside the container
WORKDIR /home/node/app
# Copy the package.json and package-lock.json files to the container
COPY package*.json ./
# Install the application dependencies
RUN export PATH="/root/.fnm:$PATH" \
&& eval "$(fnm env)" \
&& npm install --legacy-peer-deps
# Copy the rest of the application code to the container
COPY . .
# Expose the application port
EXPOSE 3000
# Default command (can be overridden by docker-compose)
CMD ["npm", "start"]