diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml new file mode 100644 index 0000000..195f86b --- /dev/null +++ b/.gitea/workflows/deploy.yaml @@ -0,0 +1,20 @@ +name: Deploy Portfolio Selfmade +on: + push: + branches: [ "main" ] + +jobs: + deploy: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build and Deploy + run: | + docker build -t portfolio-selfmade:latest . + docker stop portfolio-selfmade 2>/dev/null || true + docker rm portfolio-selfmade 2>/dev/null || true + docker run -d --name portfolio-selfmade -p 8082:80 portfolio-selfmade:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d4c2501 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine AS build +WORKDIR /app +COPY pnpm-lock.yaml pnpm-workspace.yaml package.json .npmrc ./ +COPY apps/web/package.json apps/web/ +RUN npm install -g pnpm && pnpm install --no-frozen-lockfile +COPY apps/web/ apps/web/ +WORKDIR /app/apps/web +RUN pnpm run build + +FROM nginx:stable-alpine +COPY --from=build /app/apps/web/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"]