From 744f84117aef3a1dae104392243876db9efdccca Mon Sep 17 00:00:00 2001 From: Eddie Pace Date: Tue, 13 Jan 2026 20:49:45 +0000 Subject: [PATCH] add docker files --- docker-compose.yml | 15 +++++++++++++++ docker/.dockerignore | 35 +++++++++++++++++++++++++++++++++++ docker/dockerfile | 28 ++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 docker-compose.yml create mode 100644 docker/.dockerignore create mode 100644 docker/dockerfile diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..2ff6a53a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +name: edpacca + +services: + dev: + build: + context: . + dockerfile: ./docker/dockerfile + ports: + - "5000:5000" + volumes: + - .:/app + - /app/node_modules + environment: + - NODE_ENV=production + - PORT=5000 diff --git a/docker/.dockerignore b/docker/.dockerignore new file mode 100644 index 00000000..dfe9310d --- /dev/null +++ b/docker/.dockerignore @@ -0,0 +1,35 @@ +# Ignore the Dockerfile itself +Dockerfile +Dockerfile.dev +Dockerfile.prod + +# Ignore Docker configuration files +.dockerignore + +# Ignore Git files +.git +.gitignore +.gitattributes + +# Ignore Node modules +node_modules + +# Ignore build artifacts +build + +# Ignore environment files +**/.env + +# Ignore editor configuration files +.editorconfig +.vscode + +# Ignore SvelteKit specific files +.svelte-kit + +# Ignore other configuration files +README.md +.npmrc +.prettierrc +.eslintrc.cjs +.graphqlrc diff --git a/docker/dockerfile b/docker/dockerfile new file mode 100644 index 00000000..27419bd8 --- /dev/null +++ b/docker/dockerfile @@ -0,0 +1,28 @@ +FROM node:22-slim AS builder + +WORKDIR /app + +COPY package.json package-lock.json ./ + +COPY svelte.config.js ./ + +RUN npm ci + +COPY . . +RUN npm run build + +RUN npm prune --omit=dev + +FROM node:22-slim AS runner + +WORKDIR /app + +COPY --from=builder /app/build build/ +COPY --from=builder /app/node_modules node_modules/ +COPY package.json . + +EXPOSE 5000 + +ENV NODE_ENV=production + +CMD ["node", "build"]