server/entrypoint.sh
2024-04-07 01:38:17 -10:00

38 lines
951 B
Bash
Executable file

#!/bin/bash
# This script is a wrapper for the main server, CLI and Prisma binaries.
# Commands:
# - `start`: Starts the server
# - `cli`: Starts the CLI, sends all arguments to it
# - `prisma`: Execute a Prisma command, sends
# Exit immediately if a command exits with a non-zero status.
set -euo pipefail
cd /app/dist
# Parse first argument
case "$1" in
"start")
# Migrate the database and run
/bin/bash /app/entrypoint.sh prisma migrate deploy && bun run ./index.js --prod
;;
"cli")
# Start the CLI
shift 1
bun run ./cli.js "$@"
;;
"prisma")
# Proxy all Prisma commands
# Use output of dist/prisma.js to get the env variable
shift 1
# Set DATABASE_URL env variable to the output of bun run ./dist/prisma.js
export DATABASE_URL=$(bun run ./prisma.js)
# Execute the Prisma binary
bun run ./node_modules/.bin/prisma "$@"
;;
*)
# Run custom commands
exec "$@"
;;
esac