tuning ui and adding adaptive themeing to extension
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Fix ownership of data directories (needed for bind mounts)
|
||||
# Only fix top-level dirs to avoid slow recursive chown on large downloads
|
||||
echo "Fixing data directory permissions..."
|
||||
chown appuser:appuser /data /data/downloads /data/config /data/cookies 2>/dev/null || true
|
||||
|
||||
# Wait for database to be ready
|
||||
echo "Waiting for database..."
|
||||
until gosu appuser python -c "
|
||||
import asyncio
|
||||
from sqlalchemy.ext.asyncio import create_async_engine
|
||||
from app.config import get_settings
|
||||
|
||||
async def check():
|
||||
settings = get_settings()
|
||||
engine = create_async_engine(settings.async_database_url)
|
||||
async with engine.connect() as conn:
|
||||
await conn.execute(__import__('sqlalchemy').text('SELECT 1'))
|
||||
await engine.dispose()
|
||||
|
||||
asyncio.run(check())
|
||||
" 2>/dev/null; do
|
||||
echo "Database not ready, waiting..."
|
||||
sleep 2
|
||||
done
|
||||
echo "Database is ready!"
|
||||
|
||||
# Only run migrations from the app container (not celery worker)
|
||||
# This prevents race conditions when multiple containers start simultaneously
|
||||
if [[ "$1" == "hypercorn" ]]; then
|
||||
echo "Running database migrations..."
|
||||
gosu appuser alembic upgrade head
|
||||
echo "Migrations complete!"
|
||||
else
|
||||
echo "Skipping migrations (will be run by app container)"
|
||||
fi
|
||||
|
||||
# Start the application as non-root user
|
||||
exec gosu appuser "$@"
|
||||
Reference in New Issue
Block a user