Files
GarminSync/entrypoint.sh
2025-08-22 20:29:04 -07:00

32 lines
1.1 KiB
Bash

#!/bin/bash
# Conditionally run database migrations
if [ "${RUN_MIGRATIONS:-1}" = "1" ]; then
echo "$(date) - Starting database migrations..."
echo "ALEMBIC_CONFIG: ${ALEMBIC_CONFIG:-/app/migrations/alembic.ini}"
echo "ALEMBIC_SCRIPT_LOCATION: ${ALEMBIC_SCRIPT_LOCATION:-/app/migrations/versions}"
# Run migrations with timing
start_time=$(date +%s)
export ALEMBIC_CONFIG=${ALEMBIC_CONFIG:-/app/migrations/alembic.ini}
export ALEMBIC_SCRIPT_LOCATION=${ALEMBIC_SCRIPT_LOCATION:-/app/migrations/versions}
alembic upgrade head
migration_status=$?
end_time=$(date +%s)
duration=$((end_time - start_time))
if [ $migration_status -ne 0 ]; then
echo "$(date) - Migration failed after ${duration} seconds!" >&2
exit 1
else
echo "$(date) - Migrations completed successfully in ${duration} seconds"
fi
else
echo "$(date) - Skipping database migrations (RUN_MIGRATIONS=${RUN_MIGRATIONS})"
fi
# Start the application
echo "$(date) - Starting application..."
exec python -m garminsync.cli daemon --start --port 8888
sleep infinity