add prisma cli to dependencies, make zod checks more permissive
This commit is contained in:
@@ -1,36 +1,28 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Auto-hydrate prisma directory when bind-mounted volume is empty
|
||||
# 1. Hydrate volume if empty (Running as root)
|
||||
if [ ! -f "/app/prisma/schema.prisma" ]; then
|
||||
echo "Mount is empty. Hydrating /app/prisma from /app/prisma_template..."
|
||||
cp -R /app/prisma_template/. /app/prisma/
|
||||
echo "Mount is empty. Hydrating /app/prisma..."
|
||||
cp -R /app/prisma_template/. /app/prisma/
|
||||
fi
|
||||
|
||||
# Ensure proper ownership and permissions for data directories
|
||||
echo "Setting up data directory permissions..."
|
||||
mkdir -p /app/uploads
|
||||
mkdir -p /app/prisma
|
||||
|
||||
# Set ownership to the node user (UID 1000)
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
# If running as root (for some reason), fix ownership
|
||||
chown -R nodejs:nodejs /app/uploads
|
||||
chown -R nodejs:nodejs /app/prisma
|
||||
fi
|
||||
# 2. Fix permissions unconditionally (Running as root)
|
||||
echo "Fixing filesystem permissions..."
|
||||
chown -R nodejs:nodejs /app/uploads
|
||||
chown -R nodejs:nodejs /app/prisma
|
||||
chmod 755 /app/uploads
|
||||
|
||||
# Ensure database file has proper permissions
|
||||
if [ -f "/app/prisma/dev.db" ]; then
|
||||
chmod 664 /app/prisma/dev.db 2>/dev/null || true
|
||||
echo "Database file found, ensuring write permissions..."
|
||||
chmod 666 /app/prisma/dev.db
|
||||
fi
|
||||
|
||||
# Set appropriate permissions for uploads directory
|
||||
chmod 755 /app/uploads
|
||||
|
||||
# Run migrations as the current user
|
||||
# 3. Run Migrations (Drop privileges to nodejs)
|
||||
echo "Running database migrations..."
|
||||
npx prisma migrate deploy
|
||||
su-exec nodejs npx prisma migrate deploy
|
||||
|
||||
# Start the application
|
||||
echo "Starting application as user $(whoami) (UID: $(id -u))"
|
||||
node dist/index.js
|
||||
# 4. Start Application (Drop privileges to nodejs)
|
||||
echo "Starting application as nodejs..."
|
||||
exec su-exec nodejs node dist/index.js
|
||||
|
||||
Reference in New Issue
Block a user