From 9dd0fda309a7452a154208a5f1d6bd7c460fb2dc Mon Sep 17 00:00:00 2001 From: apatil Date: Thu, 1 May 2025 23:58:23 +0100 Subject: [PATCH] adding deploy stage --- .woodpecker.yml | 9 +++++++++ dockerfile | 16 ++++++++++++++++ package.json | 4 ++-- 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 dockerfile diff --git a/.woodpecker.yml b/.woodpecker.yml index a102ba7..817ba08 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -16,3 +16,12 @@ steps: event: - push - pull_request + deploy: + image: docker:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + commands: + - docker build -t portfolio . + - docker stop portfolio || true + - docker rm portfolio || true + - docker run -d -p 8080:8080 --name portfolio portfolio diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..2542a1a --- /dev/null +++ b/dockerfile @@ -0,0 +1,16 @@ +# Stage 1: Build the application +FROM node:20.19-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +# Stage 2: Serve the application +FROM node:20.19-alpine +WORKDIR /app +COPY --from=builder /app ./ +ENV NODE_ENV=production +ENV PORT=8080 +EXPOSE 8080 +CMD ["npm", "start"] diff --git a/package.json b/package.json index 9f96d12..11b8b06 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev --turbopack", + "dev": "next dev --turbopack -p 8080", "build": "next build", - "start": "next start", + "start": "next start -p 8080", "lint": "next lint" }, "dependencies": {