From 6aef6db4e493ca2fd8b5c8cb70d8b36a5c5a9371 Mon Sep 17 00:00:00 2001 From: Torben Haack Date: Wed, 9 Oct 2024 12:41:58 +0200 Subject: [PATCH] create docker container from app --- .../reservation-platform/.containerignore | 23 ++++++++++++ packages/reservation-platform/Containerfile | 37 +++++++++++++++++++ packages/reservation-platform/compose.yml | 13 +++++++ 3 files changed, 73 insertions(+) create mode 100644 packages/reservation-platform/.containerignore create mode 100644 packages/reservation-platform/Containerfile create mode 100644 packages/reservation-platform/compose.yml diff --git a/packages/reservation-platform/.containerignore b/packages/reservation-platform/.containerignore new file mode 100644 index 0000000..4e13ec6 --- /dev/null +++ b/packages/reservation-platform/.containerignore @@ -0,0 +1,23 @@ +# Ignore node_modules as they will be installed in the container +node_modules + +# Ignore build artifacts +.next + +# Ignore runtime data +db/ + +# Ignore local configuration files +.env +.env.example + +# Ignore version control files +.git +.gitignore + +# Ignore IDE/editor specific files +*.log +*.tmp +*.DS_Store +.vscode/ +.idea/ diff --git a/packages/reservation-platform/Containerfile b/packages/reservation-platform/Containerfile new file mode 100644 index 0000000..5f4e1f5 --- /dev/null +++ b/packages/reservation-platform/Containerfile @@ -0,0 +1,37 @@ +FROM node:20-bookworm + +# Create application directory +RUN mkdir -p /usr/src/app + +# Set environment variables +ENV PORT 3000 +ENV NEXT_TELEMETRY_DISABLED=1 +ENV RUNTIME_ENVIRONMENT=development +ENV OAUTH_CLIENT_ID=client_id +ENV OAUTH_CLIENT_SECRET=client_secret + +WORKDIR /usr/src/app + +# Copy package.json and pnpm-lock.yaml +COPY package.json /usr/src/app +COPY pnpm-lock.yaml /usr/src/app + +# Install pnpm +RUN corepack enable pnpm + +# Install dependencies +RUN pnpm install + +# Copy the rest of the application code +COPY . /usr/src/app + +# Initialize Database +RUN pnpm run db + +# Build the application +RUN pnpm run build + +EXPOSE 3000 + +# Start the application +CMD ["pnpm", "start"] diff --git a/packages/reservation-platform/compose.yml b/packages/reservation-platform/compose.yml new file mode 100644 index 0000000..f3b4729 --- /dev/null +++ b/packages/reservation-platform/compose.yml @@ -0,0 +1,13 @@ +services: + app: + build: + context: . + dockerfile: Containerfile + ports: + - "3000:3000" + environment: + NODE_ENV: development + OAUTH_CLIENT_ID: 521f431132202fd5225d + OAUTH_CLIENT_SECRET: 12084446d467ad4bce75ace54d881a8287321d32 + #volumes: + # - ./docker-test/db:/usr/src/app/db