Files
kalendartool/container-entrypoint.cjs

25 lines
778 B
JavaScript

'use strict';
const { spawnSync } = require('node:child_process');
const databaseUrl = new URL('postgresql://db:5432/calendar');
databaseUrl.username = 'calendar_app';
databaseUrl.password = process.env.CALENDAR_DB_PASSWORD || '';
databaseUrl.searchParams.set('schema', 'public');
process.env.DATABASE_URL = databaseUrl.toString();
function runNode(args) {
const result = spawnSync(process.execPath, args, { stdio: 'inherit', env: process.env });
if (result.error) throw result.error;
if (result.status !== 0) process.exit(result.status ?? 1);
}
runNode(['node_modules/prisma/build/index.js', 'migrate', 'deploy']);
runNode(['prisma/seed-admin.cjs']);
if (process.env.MPM_AUTH_MODE === 'true') {
require('./module-runtime.js');
} else {
runNode(['server.js']);
}