From 54ad97e925113c3f186c0cee3713b8ac038e58f1 Mon Sep 17 00:00:00 2001 From: kennyboy55 Date: Wed, 8 Apr 2026 13:55:19 +0200 Subject: [PATCH] Add custom Dockerfile for timelimit-server --- .gitea/workflows/timelimit-server.yml | 12 +++++++++++- Dockerfile-server | 16 ++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 Dockerfile-server diff --git a/.gitea/workflows/timelimit-server.yml b/.gitea/workflows/timelimit-server.yml index a6c25a5..ceb764a 100644 --- a/.gitea/workflows/timelimit-server.yml +++ b/.gitea/workflows/timelimit-server.yml @@ -41,7 +41,6 @@ jobs: needs: check if: needs.check.outputs.exists == 'false' steps: - # Checkout timelimit-server repository for build - name: Checkout timelimit-server repository uses: actions/checkout@v4 @@ -50,6 +49,17 @@ jobs: ref: ${{ needs.check.outputs.tag }} token: ${{ secrets.ACCESS_TOKEN }} + # Checkout THIS repository (Dockerfile lives here) + - name: Checkout current repository + uses: actions/checkout@v4 + with: + path: docker + + # Copy custom dockerfile + - name: Prepare Docker context + run: | + cp -f docker/Dockerfile-server Dockerfile + # Login to registry (needed to inspect latest image) - name: Docker login run: | diff --git a/Dockerfile-server b/Dockerfile-server new file mode 100644 index 0000000..137ec4d --- /dev/null +++ b/Dockerfile-server @@ -0,0 +1,16 @@ +FROM node:24-alpine + +# Create app directories +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +# Install app dependencies +COPY package.json package-lock.json tsconfig.json .eslintignore eslint.config.mjs Readme.md /usr/src/app/ +COPY src/ /usr/src/app/src/ +COPY scripts/ /usr/src/app/scripts/ +COPY other/ /usr/src/app/other/ +RUN mkdir -p docs/schema && npm install --exclude=optional && npm run build && npm prune --omit=dev && rm -rf ./src + +# Start the App +EXPOSE 8080 +CMD [ "npm", "start" ] \ No newline at end of file