Skip to content

Commit 439ecf4

Browse files
committed
chore: 🤖 improve migrations for docker container startup
1 parent 4bcd654 commit 439ecf4

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

‎apps/webapp/package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"version": "1.0.0",
55
"sideEffects": false,
66
"scripts": {
7-
"build": "run-s build:*",
7+
"build": "run-s build:**",
8+
"build:db:seed": "esbuild --platform=node --bundle --minify --format=cjs ./prisma/seed.ts --outdir=prisma",
89
"build:remix": "remix build",
910
"build:server": "esbuild --platform=node --format=cjs ./server.ts --outdir=build",
1011
"dev": "cross-env PORT=3030 remix dev",
1112
"format": "prettier --write .",
1213
"lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .",
1314
"start": "cross-env NODE_ENV=production node --max-old-space-size=8192 ./build/server.js",
1415
"typecheck": "tsc --noEmit",
15-
"db:seed": "ts-node prisma/seed.ts",
16+
"db:seed": "node prisma/seed.js",
1617
"generate:sourcemaps": "remix build --sourcemap",
1718
"clean:sourcemaps": "run-s clean:sourcemaps:*",
1819
"clean:sourcemaps:public": "rimraf ./build/**/*.map",

‎docker/Dockerfile‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,10 @@ COPY --from=production-deps --chown=node:node /triggerdotdev .
6060
COPY --from=builder --chown=node:node /triggerdotdev/apps/webapp/build/server.js ./apps/webapp/build/server.js
6161
COPY --from=builder --chown=node:node /triggerdotdev/apps/webapp/build ./apps/webapp/build
6262
COPY --from=builder --chown=node:node /triggerdotdev/apps/webapp/public ./apps/webapp/public
63+
COPY --from=builder --chown=node:node /triggerdotdev/apps/webapp/prisma/seed.js ./apps/webapp/prisma/seed.js
6364
COPY --from=builder --chown=node:node /triggerdotdev/scripts ./scripts
6465

6566
EXPOSE 3000
6667

67-
# This is needed to run migrations in the entrypoint.sh script (TODO: figure out a better way to do this)
68-
RUN npm install -g prisma@4.16.0
69-
RUN npm install -g ts-node@10.9.1
70-
7168
USER node
7269
CMD ["./scripts/entrypoint.sh"]

‎docker/scripts/entrypoint.sh‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@ if [ -n "$DATABASE_HOST" ]; then
55
scripts/wait-for-it.sh ${DATABASE_HOST} -- echo "database is up"
66
fi
77

8-
npx --no-install prisma migrate deploy --schema /triggerdotdev/packages/database/prisma/schema.prisma
9-
npx --no-install ts-node --transpile-only /triggerdotdev/apps/webapp/prisma/seed.ts
8+
# Run migrations
9+
pnpm --filter @trigger.dev/database db:migrate:deploy
10+
11+
# Copy over required prisma files and invoke bundled seed file
12+
cp packages/database/prisma/schema.prisma apps/webapp/prisma/
13+
cp node_modules/@prisma/engines/libquery_engine-linux-arm64-openssl-1.1.x.so.node apps/webapp/prisma/
14+
pnpm --filter webapp db:seed
1015

1116
cd /triggerdotdev/apps/webapp
1217
exec dumb-init pnpm run start

0 commit comments

Comments
 (0)