diff options
| author | yyamashita <yyamashita@mosquit.one> | 2026-05-07 23:26:57 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@mosquit.one> | 2026-05-07 23:26:57 +0900 |
| commit | 40f4f59a5a5649dd34b52c1862ce3324bab002d1 (patch) | |
| tree | 10b17b689271c0672db22acc67c5749e9aa5ce7e /Dockerfile | |
| parent | ff7836e5bf2b703780a94223fb41480fe7a906d0 (diff) | |
Add Docker + Hetzner deploy setup
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 26 |
1 files changed, 12 insertions, 14 deletions
@@ -1,22 +1,20 @@ -FROM node:20-alpine AS development-dependencies-env -COPY . /app +FROM node:20-alpine AS deps +COPY package.json package-lock.json /app/ WORKDIR /app RUN npm ci -FROM node:20-alpine AS production-dependencies-env -COPY ./package.json package-lock.json /app/ -WORKDIR /app -RUN npm ci --omit=dev - -FROM node:20-alpine AS build-env +FROM node:20-alpine AS build COPY . /app/ -COPY --from=development-dependencies-env /app/node_modules /app/node_modules +COPY --from=deps /app/node_modules /app/node_modules WORKDIR /app RUN npm run build -FROM node:20-alpine -COPY ./package.json package-lock.json /app/ -COPY --from=production-dependencies-env /app/node_modules /app/node_modules -COPY --from=build-env /app/build /app/build +FROM node:20-slim WORKDIR /app -CMD ["npm", "run", "start"]
\ No newline at end of file +COPY package.json package-lock.json ./ +RUN npm ci --omit=dev +COPY --from=build /app/build ./build +RUN npx playwright install chromium --with-deps +RUN mkdir -p /app/data +EXPOSE 3000 +CMD ["npm", "start"] |
