mirror of
https://github.com/usetrmnl/inker.git
synced 2026-04-29 13:45:07 -07:00
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
#!/command/with-contenv sh
|
|
exec 2>&1
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
echo "[backend] Waiting for PostgreSQL..."
|
|
until su - postgres -c "pg_isready -q" 2>/dev/null; do
|
|
sleep 1
|
|
done
|
|
echo "[backend] PostgreSQL is ready"
|
|
|
|
# Wait for Redis to be ready
|
|
echo "[backend] Waiting for Redis..."
|
|
until redis-cli -a "${REDIS_PASSWORD:-inker_redis}" --no-auth-warning ping 2>/dev/null | grep -q PONG; do
|
|
sleep 1
|
|
done
|
|
echo "[backend] Redis is ready"
|
|
|
|
# Create required directories and set ownership for non-root backend
|
|
mkdir -p /app/uploads/screens /app/uploads/firmware /app/uploads/widgets /app/uploads/captures /app/uploads/drawings /app/logs /tmp/inker-home
|
|
chown -R inker:inker /app/uploads /app/logs /tmp/inker-home
|
|
|
|
# Set HOME for the inker user (Puppeteer needs a writable home for config)
|
|
export HOME=/tmp/inker-home
|
|
|
|
# Run database migrations as non-root user
|
|
# Uses node instead of bunx to avoid Bun WASM crash on non-AVX2 hardware (Synology, older CPUs)
|
|
cd /app
|
|
echo "[backend] Running database migrations..."
|
|
s6-setuidgid inker node ./node_modules/prisma/build/index.js db push --skip-generate 2>&1 || echo "[backend] Warning: Database migration had issues, check logs"
|
|
|
|
# Start backend as non-root user
|
|
echo "[backend] Starting Inker backend..."
|
|
exec s6-setuidgid inker bun run dist/main.js
|