mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-11 01:31:39 -05:00
36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
unset BUNDLE_PATH
|
|
unset BUNDLE_BIN
|
|
|
|
set -e
|
|
|
|
echo "⚠️ Starting Sidekiq in $RAILS_ENV environment ⚠️"
|
|
|
|
# Parse DATABASE_URL if present, otherwise use individual variables
|
|
if [ -n "$DATABASE_URL" ]; then
|
|
# Extract components from DATABASE_URL
|
|
DATABASE_HOST="$(echo "$DATABASE_URL" | awk -F[@/] '{print $4}')"
|
|
DATABASE_PORT="$(echo "$DATABASE_URL" | awk -F[@/:] '{print $5}')"
|
|
DATABASE_USERNAME="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $4}')"
|
|
DATABASE_PASSWORD="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $5}')"
|
|
DATABASE_NAME="$(echo "$DATABASE_URL" | awk -F[@/] '{print $5}')"
|
|
else
|
|
# Use existing environment variables
|
|
DATABASE_HOST="${DATABASE_HOST}"
|
|
DATABASE_PORT="${DATABASE_PORT}"
|
|
DATABASE_USERNAME="${DATABASE_USERNAME}"
|
|
DATABASE_PASSWORD="${DATABASE_PASSWORD}"
|
|
DATABASE_NAME="${DATABASE_NAME}"
|
|
fi
|
|
|
|
# Wait for the database to become available
|
|
echo "⏳ Waiting for database to be ready..."
|
|
until PGPASSWORD=$DATABASE_PASSWORD psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USERNAME" -d "$DATABASE_NAME" -c '\q'; do
|
|
>&2 echo "Postgres is unavailable - retrying..."
|
|
sleep 2
|
|
done
|
|
echo "✅ PostgreSQL is ready!"
|
|
|
|
# run sidekiq
|
|
exec bundle exec sidekiq
|