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/blocks && pnpm install && 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
|
||||
|
||||
# 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
|
||||
|
||||
WORKDIR /app
|
||||
WORKDIR /app/emdash
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV HOST=0.0.0.0
|
||||
@@ -39,7 +41,22 @@ COPY --from=0 /app/emdash/packages/blog-template/dist ./dist
|
||||
|
||||
EXPOSE 4321
|
||||
|
||||
# Copy and adapt entrypoint to work from /app/emdash
|
||||
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"]
|
||||
|
||||
Reference in New Issue
Block a user