# ==== CONFIGURE ===== # Use a Node 18 base image FROM node:18 # Set the working directory to /code inside the container WORKDIR /code # Copy app files COPY . . # ==== BUILD ===== # Install dependencies (npm ci makes sure the exact versions in the lockfile gets installed) RUN npm ci # Build the app RUN npm run build # ==== RUN ======= # Set the env to "production" ENV NODE_ENV production # Expose the port on which the app will be running (3000 is the default that `serve` uses) EXPOSE 7860 # Start the proxy and app CMD ["bash", "-c", "node server.js & npx serve -l 7860 build"]