fix: Update CI/CD pipeline for Next.js
Some checks failed
build-website / build (push) Failing after 35s

- Updated Gitea workflow to build Next.js instead of Nuxt
- Removed working-directory references to apps/website
- Created Dockerfile for Next.js production builds
- Added standalone output mode to next.config.js for Docker
- Updated build and artifact paths in workflow

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Matt
2025-09-26 16:23:28 +02:00
parent d0f33f66f3
commit 634257442c
3 changed files with 45 additions and 9 deletions

View File

@@ -18,15 +18,9 @@ jobs:
- name: Install dependencies
run: npm ci
working-directory: apps/website
- name: Nuxt prepare
run: npm run postinstall
working-directory: apps/website
- name: Build Nuxt
- name: Build Next.js
run: npm run build
working-directory: apps/website
- name: Install Docker CLI
run: |
@@ -40,7 +34,7 @@ jobs:
env:
IMAGE: code.harborsmith.co/matt/website
run: |
docker build -f apps/website/Dockerfile.prod -t $IMAGE:${{ github.sha }} apps/website
docker build -f Dockerfile -t $IMAGE:${{ github.sha }} .
docker push $IMAGE:${{ github.sha }}
docker tag $IMAGE:${{ github.sha }} $IMAGE:latest
docker push $IMAGE:latest
@@ -49,4 +43,4 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: website-dist
path: apps/website/.output/public
path: .next

41
Dockerfile Normal file
View File

@@ -0,0 +1,41 @@
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies
RUN npm ci
# Copy all files
COPY . .
# Build Next.js app
RUN npm run build
# Production stage
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
# Create a non-root user
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nextjs -u 1001
# Copy built application
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
# Change ownership
RUN chown -R nextjs:nodejs /app
USER nextjs
EXPOSE 3000
ENV PORT 3000
CMD ["node", "server.js"]

View File

@@ -1,6 +1,7 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
output: 'standalone',
images: {
domains: ['videos.pexels.com'],
},