diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ed095bd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +.nuxt +.output +dist +.git diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 5ac854c..f2f3234 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -24,6 +24,16 @@ jobs: username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} + - name: Test runtime + run: | + docker build --target build -t debug-build . + docker run --rm -d -p 3000:3000 --name test-app debug-build sh -c "cd /app && npx nuxt dev --host 0.0.0.0" + sleep 15 + curl -s http://localhost:3000 || true + curl -s http://localhost:3000/gallery || true + docker logs test-app + docker stop test-app + - name: Build and push Docker image run: | docker build -t git.pihkaal.me/pihkaal/pihkaal-me:latest . diff --git a/Dockerfile b/Dockerfile index 76dc6af..db8340a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22-alpine AS base +FROM node:22-slim AS base RUN corepack enable FROM base AS deps @@ -7,6 +7,7 @@ COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ RUN pnpm install --frozen-lockfile FROM base AS build +RUN apt-get update && apt-get install -y --no-install-recommends imagemagick && rm -rf /var/lib/apt/lists/* && ln -s /usr/bin/convert /usr/local/bin/magick WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . diff --git a/docker-compose.yml b/docker-compose.yml index 9d85360..d14eb41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,6 @@ services: app: + container_name: beta-pihkaal-me image: git.pihkaal.me/pihkaal/pihkaal-me:latest restart: unless-stopped networks: