diff --git a/packages/db-migrations/index.ts b/packages/db-migrations/index.ts deleted file mode 100644 index 6cbdf63eb..000000000 --- a/packages/db-migrations/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as DBMigrate from 'db-migrate' -import * as path from 'path' - -export async function migrateDB() { - const packagesDir = path.join(process.cwd(), 'packages') - const migrationsDir = path.join(packagesDir, 'db-migrations') - - const dbMigrate = DBMigrate.getInstance(true, { - cwd: migrationsDir, - }) - await dbMigrate.up() -} diff --git a/packages/server/Dockerfile b/packages/server/Dockerfile index 827853de8..c5e8abe15 100644 --- a/packages/server/Dockerfile +++ b/packages/server/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20 as base +FROM node:20 AS base ARG image WORKDIR /usr/src/app COPY .yarn .yarn @@ -6,29 +6,26 @@ COPY .yarnrc.yml . COPY scripts/build.ts scripts/build.ts COPY tsconfig.json . COPY packages/authorization/package.json packages/authorization/package.json -COPY packages/db-migrations/package.json packages/db-migrations/package.json COPY packages/server/package.json packages/server/package.json +COPY packages/db-migrations/package.json packages/db-migrations/package.json COPY package.json . COPY lerna.json . COPY yarn.lock . -FROM base as build_dist +FROM base AS build_dist RUN yarn --immutable --immutable-cache --silent COPY packages/authorization packages/authorization -COPY packages/db-migrations packages/db-migrations COPY packages/server packages/server RUN yarn build:${image} -FROM base as build_node_modules +FROM base AS build_node_modules RUN yarn workspaces focus --all --production -FROM node:20-alpine as release +FROM node:20-alpine AS release ARG image WORKDIR /usr/src/app COPY --from=build_dist /usr/src/app/dist dist COPY --from=build_node_modules /usr/src/app/node_modules node_modules -COPY packages/db-migrations/database.json packages/db-migrations/database.json -RUN mkdir packages/db-migrations/migrations RUN cp dist/${image}.cjs dist/entrypoint.cjs 2>/dev/null ENTRYPOINT ["node", "dist/entrypoint.cjs"] # for server and swr queue worker respectively, but EXPOSE is anyway just for documentation diff --git a/packages/server/src/internals/server/index.ts b/packages/server/src/internals/server/index.ts index 493321286..2610e461b 100644 --- a/packages/server/src/internals/server/index.ts +++ b/packages/server/src/internals/server/index.ts @@ -1,4 +1,3 @@ -import { migrateDB } from '@serlo/db-migrations' import cors from 'cors' import dotenv from 'dotenv' import createApp from 'express' @@ -21,8 +20,6 @@ export { getGraphQLOptions } from './graphql-middleware' export async function start() { dotenv.config() - if (process.env.ENVIRONMENT === 'local') await migrateDB() - initializeSentry({ context: 'server' }) const timer = createTimer() const cache =