fix: fix pipeline docker build with new external lib
All checks were successful
pipeline / lint-and-format (push) Successful in 5m45s
pipeline / build-and-push-images (push) Successful in 2m21s

This commit is contained in:
2026-04-27 12:02:40 +02:00
parent 0b2d00ad0b
commit 4a80540243
4 changed files with 77 additions and 12 deletions

32
.dockerignore Normal file
View File

@@ -0,0 +1,32 @@
# Dependencies
**/node_modules
# Build outputs
**/dist
**/.output
**/.nuxt
# Database data
dev/data/db
# Git
**/.git
# IDE
**/.idea
**/.vscode
# Environment files
**/.env
**/.env.*
# Logs
**/*.log
**/logs
# Test coverage
**/coverage
# OS files
.DS_Store
Thumbs.db

View File

@@ -72,7 +72,8 @@ jobs:
- name: Build and push frontend docker image
uses: docker/build-push-action@v6
with:
context: ./frontend
context: .
file: ./frontend/Dockerfile
push: true
tags: |
git.vhaudiquet.fr/vhaudiquet/lolstats-frontend:latest
@@ -90,7 +91,8 @@ jobs:
- name: Build and push match_collector docker image
uses: docker/build-push-action@v6
with:
context: ./match_collector
context: .
file: ./match_collector/Dockerfile
push: true
tags: |
git.vhaudiquet.fr/vhaudiquet/lolstats-match_collector:latest

View File

@@ -2,12 +2,23 @@ FROM node:current-alpine AS base
WORKDIR /app
FROM base AS build
COPY package*.json ./
# Copy and build dragon-item-parser first
COPY dragon-item-parser/package*.json ./dragon-item-parser/
COPY dragon-item-parser/tsconfig.json ./dragon-item-parser/
COPY dragon-item-parser/src ./dragon-item-parser/src
WORKDIR /app/dragon-item-parser
RUN npm install && npm run build
# Build the frontend
WORKDIR /app
COPY frontend/package*.json ./frontend/
WORKDIR /app/frontend
RUN npm install
COPY . .
COPY frontend/. .
RUN npm run build
FROM base
COPY --from=build /app/.output /app/.output
COPY --from=build /app/frontend/.output /app/.output
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]
CMD ["node", ".output/server/index.mjs"]

View File

@@ -1,8 +1,28 @@
FROM node:lts-alpine
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
# This Dockerfile should be built from the project root directory:
# docker build -f match_collector/Dockerfile -t buildpath-match_collector .
FROM node:current-alpine AS build
RUN mkdir -p /home/node/app && chown -R node:node /home/node/app
WORKDIR /home/node/app
# Copy and build dragon-item-parser first
COPY --chown=node:node dragon-item-parser/package*.json ./dragon-item-parser/
COPY --chown=node:node dragon-item-parser/tsconfig.json ./dragon-item-parser/
COPY --chown=node:node dragon-item-parser/src ./dragon-item-parser/src
WORKDIR /home/node/app/dragon-item-parser
RUN npm install && npm run build
# Build match_collector
WORKDIR /home/node/app
COPY --chown=node:node match_collector/package*.json ./match_collector/
WORKDIR /home/node/app/match_collector
RUN npm install
COPY --chown=node:node match_collector/. .
FROM node:current-alpine
RUN mkdir -p /home/node/app && chown -R node:node /home/node/app
WORKDIR /home/node/app
USER node
COPY --chown=node:node package*.json ./
RUN npm install
COPY --chown=node:node . .
CMD ["/bin/sh", "-c", "node --import=tsx src/index.ts; sleep 20h"]
COPY --from=build --chown=node:node /home/node/app/match_collector/node_modules ./node_modules
COPY --from=build --chown=node:node /home/node/app/match_collector/. .
CMD ["/bin/sh", "-c", "node --import=tsx src/index.ts; sleep 20h"]