From 58ebf72d9a40da3cf83be6c5f18156d4de6239cc Mon Sep 17 00:00:00 2001 From: William Diakite Date: Thu, 26 Jun 2025 16:59:15 -0400 Subject: [PATCH] dockerize site --- .dockerignore | 17 +++++++++++++++++ Dockerfile | 19 +++++++++++++++++++ package.json | 4 ++++ src/lib/styles/styles.css | 2 +- src/routes/+page.svelte | 5 ++++- svelte.config.js | 2 +- 6 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..bdf6e19 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ +.dockerignore +.git +.gitignore +.gitattributes +README.md +.npmrc +.prettierrc +.eslintrc.cjs +.graphqlrc +.editorconfig +.svelte-kit +.vscode +node_modules +build +package +**/.env + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a692c0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +# Use a Node.js Alpine image for the builder stage +FROM node:22-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build +RUN npm prune --production + +# Use another Node.js Alpine image for the final stage +FROM node:22-alpine +WORKDIR /app +COPY --from=builder /app/build build/ +COPY --from=builder /app/node_modules node_modules/ +COPY package.json . +EXPOSE 3000 +ENV NODE_ENV=production +CMD [ "node", "build" ] + diff --git a/package.json b/package.json index 71c2105..251454d 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "devDependencies": { "@eslint/compat": "^1.2.5", "@eslint/js": "^9.18.0", + "@sveltejs/adapter-node": "^5.2.12", "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", @@ -34,5 +35,8 @@ }, "dependencies": { "remixicon": "^4.6.0" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-musl": "4.9.5" } } diff --git a/src/lib/styles/styles.css b/src/lib/styles/styles.css index 504d62f..88e6e8c 100644 --- a/src/lib/styles/styles.css +++ b/src/lib/styles/styles.css @@ -41,7 +41,7 @@ header { } .hero { - height: 100vh; + height: 95vh; padding: 2rem 0rem; --margin: 3rem; & h1 { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 9e8166a..6fb808c 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -49,9 +49,11 @@