| #!/bin/bash |
| set -euo pipefail |
|
|
| echo "=========================================" |
| echo " Platform - Boot Sequence" |
| echo "=========================================" |
|
|
| mkdir -p /data/logs /data/uploads /data/sessions /data/triggers /data/composio_cache |
| export COMPOSIO_CACHE_DIR=/data/composio_cache |
| echo "[Boot] COMPOSIO_CACHE_DIR=$COMPOSIO_CACHE_DIR" |
|
|
| cd /app |
| echo "[Boot] Working dir: $(pwd)" |
| echo "[Boot] User: $(whoami)" |
| echo "[Boot] DATA_DIR=$DATA_DIR" |
|
|
| echo "[DB] Initializing database..." |
| python3 -c "from backend.database import init_db; init_db()" 2>&1 |
| echo "[DB] Done" |
|
|
| echo "[Tools] Starting background sync..." |
| nohup python3 -c " |
| import asyncio, os |
| print(f'[Sync] COMPOSIO_CACHE_DIR={os.environ.get(\"COMPOSIO_CACHE_DIR\", \"NOT SET\")}') |
| from backend.integrations.registry import sync_from_composio |
| result = asyncio.run(sync_from_composio()) |
| print(f'[Sync] Done: {result}') |
| " > /data/logs/sync.log 2>&1 & |
|
|
| echo "[Boot] Background sync PID: $!" |
|
|
| echo "=========================================" |
| echo " Starting Platform on port 7860" |
| echo "=========================================" |
|
|
| python3 -c "from backend.main import app; print('[Boot] App imported OK')" 2>&1 |
|
|
| exec uvicorn backend.main:app \ |
| --host 0.0.0.0 \ |
| --port 7860 \ |
| --workers 2 \ |
| --log-level debug \ |
| --access-log |
|
|