aboutsummaryrefslogtreecommitdiffstats
path: root/docker/Dockerfile
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-27 17:30:32 +0000
committerMohamedBassem <me@mbassem.com>2024-02-27 17:30:32 +0000
commit25bef5ff35b8cd33cae9ab83c6f3e304dc906116 (patch)
treec0fe70350ed343a3f78908693711610b29daafb9 /docker/Dockerfile
parent4ffa87aa07a66397881d4d5ad0f97c66c61e6878 (diff)
downloadkarakeep-25bef5ff35b8cd33cae9ab83c6f3e304dc906116.tar.zst
docker: Run db migrations on web app startup
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile9
1 files changed, 8 insertions, 1 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 265235a5..7e439a45 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -14,6 +14,12 @@ ENV NEXT_TELEMETRY_DISABLED 1
ENV PUPPETEER_SKIP_DOWNLOAD true
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
+# Build the db migration script
+RUN cd packages/db && \
+ pnpm dlx @vercel/ncc build migrate.ts -o /db_migrations && \
+ cp -R drizzle /db_migrations
+
+
################# The Web builder ##############
# Rebuild the source code only when needed
@@ -33,6 +39,7 @@ ENV NEXT_TELEMETRY_DISABLED 1
COPY --from=web_builder --chown=node:node /app/packages/web/.next/standalone ./
COPY --from=web_builder /app/packages/web/public ./packages/web/public
+COPY --from=web_builder /db_migrations /db_migrations
# Set the correct permission for prerender cache
RUN mkdir -p ./package/web/.next
@@ -52,7 +59,7 @@ ENV HOSTNAME "0.0.0.0"
# server.js is created by next build from the standalone output
# https://nextjs.org/docs/pages/api-reference/next-config-js/output
-CMD ["node", "server.js"]
+CMD ["/bin/sh", "-c", "(cd /db_migrations && node index.js) && node server.js"]
################# The workers builder ##############