mirror of
https://github.com/immich-app/static-pages.git
synced 2026-09-30 21:27:54 +08:00
46 lines
1.9 KiB
Docker
46 lines
1.9 KiB
Docker
FROM node:24-slim@sha256:ba849c60be29959425b8734d57b8b4b7d56f98edd9504c9af091d5281095a71e AS frontend-builder
|
|
# pnpm version is pinned via the root package.json "packageManager" field
|
|
ENV COREPACK_ENABLE_STRICT=1
|
|
RUN corepack enable
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY apps/survey.immich.app/package.json apps/survey.immich.app/
|
|
COPY apps/survey.immich.app/backend/package.json apps/survey.immich.app/backend/
|
|
COPY common/ common/
|
|
RUN pnpm install --frozen-lockfile --filter survey.immich.app...
|
|
COPY apps/survey.immich.app/ apps/survey.immich.app/
|
|
RUN cd apps/survey.immich.app && pnpm run build
|
|
|
|
FROM node:24-slim@sha256:ba849c60be29959425b8734d57b8b4b7d56f98edd9504c9af091d5281095a71e AS backend-builder
|
|
ENV COREPACK_ENABLE_STRICT=1
|
|
RUN corepack enable
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY apps/survey.immich.app/package.json apps/survey.immich.app/
|
|
COPY apps/survey.immich.app/backend/package.json apps/survey.immich.app/backend/
|
|
RUN pnpm install --frozen-lockfile --filter survey-backend...
|
|
COPY apps/survey.immich.app/shared/ apps/survey.immich.app/shared/
|
|
COPY apps/survey.immich.app/backend/ apps/survey.immich.app/backend/
|
|
RUN cd apps/survey.immich.app/backend && pnpm run build:node
|
|
|
|
FROM node:24-slim@sha256:ba849c60be29959425b8734d57b8b4b7d56f98edd9504c9af091d5281095a71e
|
|
ENV COREPACK_ENABLE_STRICT=1
|
|
RUN corepack enable
|
|
WORKDIR /app
|
|
|
|
COPY --from=frontend-builder /app/apps/survey.immich.app/build /app/public
|
|
|
|
COPY --from=backend-builder /app/apps/survey.immich.app/backend/dist /app/dist
|
|
COPY --from=backend-builder /app/apps/survey.immich.app/backend/migrations /app/migrations
|
|
COPY --from=backend-builder /app/apps/survey.immich.app/backend/package.json /app/
|
|
RUN pnpm install --prod
|
|
|
|
ENV PORT=3000
|
|
ENV STATIC_DIR=/app/public
|
|
ENV DATABASE_URL=/data/survey.db
|
|
|
|
EXPOSE 3000
|
|
VOLUME /data
|
|
|
|
CMD ["node", "dist/server.js"]
|