Files
famdone/docker/Dockerfile
T
2026-08-17 07:41:26 +01:00

46 lines
1.4 KiB
Docker

# ── Build stage ──────────────────────────────────────────
FROM node:22-alpine AS builder
RUN corepack enable
WORKDIR /app
COPY . .
RUN pnpm install --frozen-lockfile
RUN pnpm --filter frontend build
# Create a standalone production node_modules for frontend
RUN pnpm --filter frontend deploy --prod /deploy/frontend
# ── Runtime stage ────────────────────────────────────────
FROM node:22-alpine
RUN corepack enable && \
apk add --no-cache nginx wget unzip ca-certificates
WORKDIR /app
# SvelteKit build becomes /app/frontend
COPY --from=builder /app/frontend/build ./frontend
# Production dependencies for the frontend
COPY --from=builder /deploy/frontend/node_modules ./frontend/node_modules
COPY --from=builder /deploy/frontend/package.json ./frontend/package.json
COPY docker/nginx.conf /etc/nginx/http.d/default.conf
COPY docker/entrypoint.sh /entrypoint.sh
ARG POCKETBASE_VERSION=0.39.10
RUN wget -qO /tmp/pb.zip \
"https://github.com/pocketbase/pocketbase/releases/download/v${POCKETBASE_VERSION}/pocketbase_${POCKETBASE_VERSION}_linux_amd64.zip" \
&& unzip -o /tmp/pb.zip -d /usr/local/bin/ \
&& rm /tmp/pb.zip
RUN chmod +x /entrypoint.sh /usr/local/bin/pocketbase
EXPOSE 3000 8090
CMD ["/entrypoint.sh"]