Code for my personal website

build: create docker and compose files

+35
+3
.dockerignore
··· 1 + .DS_Store 2 + node_modules 3 + dist
+26
Dockerfile
··· 1 + FROM node:20.18.1-alpine AS base 2 + 3 + WORKDIR /app 4 + ENV PNPM_HOME="/pnpm" 5 + ENV PATH="$PNPM_HOME:$PATH" 6 + RUN npm install -g pnpm@10 7 + COPY package.json pnpm-lock.yaml ./ 8 + 9 + FROM base AS prod-deps 10 + RUN pnpm install --frozen-lockfile --prod 11 + 12 + FROM base AS build-deps 13 + RUN pnpm install --frozen-lockfile 14 + 15 + FROM build-deps AS build 16 + COPY . . 17 + RUN pnpm run build 18 + 19 + FROM base AS runtime 20 + COPY --from=prod-deps /app/node_modules ./node_modules 21 + COPY --from=build /app/dist ./dist 22 + 23 + ENV HOST=0.0.0.0 24 + ENV PORT=4321 25 + EXPOSE 4321 26 + CMD node ./dist/server/entry.mjs
+6
docker-compose.yaml
··· 1 + services: 2 + website: 3 + image: pers-website 4 + env_file: .env 5 + ports: 6 + - 4321:4321