ci: fix: docker

This commit is contained in:
Artemy 2024-05-12 17:39:55 +03:00
parent fc2576b288
commit 36164f765b
6 changed files with 38 additions and 16 deletions

View File

@ -26,9 +26,6 @@ jobs:
packages: write
steps:
- name: Go to server
run: cd ./packages/server
- name: Checkout repository
uses: actions/checkout@v3
# Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here.

38
Dockerfile Normal file
View File

@ -0,0 +1,38 @@
FROM node:20-alpine as base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY . /app
WORKDIR /app
FROM base AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
FROM base AS build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build
FROM node:20-alpine as run
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app
COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=prod-deps /app/packages/server/node_modules /app/packages/server/node_modules
COPY --from=prod-deps /app/packages/plugins/node_modules /app/packages/plugins/node_modules
COPY --from=prod-deps /app/packages/sdk/node_modules /app/packages/sdk/node_modules
COPY --from=build /app/packages/sdk/dist/ /app/packages/sdk/dist
COPY --from=build /app/packages/plugins/dist/ /app/packages/plugins/dist
COPY --from=build /app/packages/server/dist/ /app/packages/server/dist
COPY --from=build /app/packages/sdk/package.json /app/packages/sdk
COPY --from=build /app/packages/plugins/package.json /app/packages/plugins
COPY --from=build /app/packages/server/package.json /app/packages/server
EXPOSE 8080
WORKDIR /app/packages/server
CMD [ "pnpm", "start" ]

View File

@ -1,12 +0,0 @@
FROM node:18-alpine as build
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build
FROM node:18-alpine as run
WORKDIR /app
COPY --from=build /app/dist/ /app/package*.json ./
RUN npm install --omit=dev
CMD npm run start:docker
EXPOSE 8080

View File

@ -14,7 +14,6 @@
"test": "echo \"Error: no test specified\" && exit 1",
"build": "npm run clean-css && copyfiles ./templates/*.ejs ./templates/**/*.ejs .env ./dist/ && tsc",
"start": "cd ./dist && node ./src/app.js",
"start:docker": "node ./src/app.js",
"clean-css": "cleancss --batch static/*.css -o dist/static --batch-suffix \"\"",
"dev": "tsc-watch --onSuccess \"node ./dist/src/app.js\""
},