Fix Dockerfile for emdash monorepo workspace and package builds
- Add build steps for audit-log and gutenberg-to-portable-text - Change WORKDIR to /app/emdash so workspace symlinks resolve - Adapt entrypoint.sh paths for /app/emdash workspace - Copy seed file and create storage directory - Copy audit-log and gutenberg-to-portable-text to node_modules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
23
Dockerfile
23
Dockerfile
@@ -24,12 +24,14 @@ RUN cd packages/core && pnpm build
|
|||||||
RUN cd packages/auth && pnpm build
|
RUN cd packages/auth && pnpm build
|
||||||
RUN cd packages/blocks && pnpm install && pnpm build
|
RUN cd packages/blocks && pnpm install && pnpm build
|
||||||
RUN cd packages/admin && pnpm build
|
RUN cd packages/admin && pnpm build
|
||||||
|
RUN cd packages/plugins/audit-log && pnpm build
|
||||||
|
RUN cd packages/gutenberg-to-portable-text && pnpm install && pnpm build
|
||||||
RUN cd packages/blog-template && pnpm build
|
RUN cd packages/blog-template && pnpm build
|
||||||
|
|
||||||
# Final stage - copy everything from deps stage (which now has the built artifacts)
|
# Final stage - run from emdash workspace so symlinks resolve correctly
|
||||||
FROM deps
|
FROM deps
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app/emdash
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
ENV HOST=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
@@ -39,7 +41,22 @@ COPY --from=0 /app/emdash/packages/blog-template/dist ./dist
|
|||||||
|
|
||||||
EXPOSE 4321
|
EXPOSE 4321
|
||||||
|
|
||||||
|
# Copy and adapt entrypoint to work from /app/emdash
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh && \
|
||||||
|
sed -i 's|cd /app|cd /app/emdash|g' /entrypoint.sh && \
|
||||||
|
sed -i 's|pnpm exec emdash seed|pnpm exec emdash seed packages/blog-template/seed/seed.json|g' /entrypoint.sh && \
|
||||||
|
sed -i 's|DB_PATH="/app/storage/data.db"|DB_PATH="/app/emdash/data.db"|g' /entrypoint.sh && \
|
||||||
|
sed -i 's|UPLOADS_PATH="/app/storage/uploads"|UPLOADS_PATH="/app/emdash/storage/uploads"|g' /entrypoint.sh
|
||||||
|
|
||||||
|
# Copy seed file and create storage directory
|
||||||
|
COPY --from=0 /app/emdash/packages/blog-template/seed ./seed
|
||||||
|
RUN mkdir -p /app/storage/uploads
|
||||||
|
|
||||||
|
# Copy audit-log plugin to node_modules (it's imported by virtual_astro_middleware.mjs)
|
||||||
|
COPY --from=0 /app/emdash/packages/plugins/audit-log ./node_modules/@emdash-cms/plugin-audit-log
|
||||||
|
|
||||||
|
# Copy gutenberg-to-portable-text (nested in core's node_modules, needed by search)
|
||||||
|
COPY --from=0 /app/emdash/packages/core/node_modules/@emdash-cms/gutenberg-to-portable-text ./node_modules/@emdash-cms/gutenberg-to-portable-text
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|||||||
Reference in New Issue
Block a user