Spaces:
Running
Running
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the BSD-style license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| # Startup script for OpenApp Environment Docker container | |
| # This script starts both the OpenApps server and the FastAPI environment server | |
| set -e | |
| echo "Starting OpenApp Environment..." | |
| # Start OpenApps server in the background | |
| echo "Starting OpenApps server on port ${OPENAPPS_PORT:-5001}..." | |
| cd /app/openapps | |
| # Run launch.py directly - it uses Hydra and needs the config directory | |
| # Redirect OpenApps output to a log file so we can debug if needed | |
| python launch.py > /tmp/openapps.log 2>&1 & | |
| OPENAPPS_PID=$! | |
| # Wait for OpenApps server to be ready | |
| echo "Waiting for OpenApps server to be ready..." | |
| for i in {1..60}; do | |
| # Check if OpenApps server is responding using curl | |
| if curl -sf http://localhost:${OPENAPPS_PORT:-5001} >/dev/null 2>&1; then | |
| echo "OpenApps server is ready on port ${OPENAPPS_PORT:-5001}!" | |
| break | |
| fi | |
| if [ $i -eq 60 ]; then | |
| echo "ERROR: OpenApps server failed to start within 60 seconds" | |
| echo "OpenApps log output:" | |
| cat /tmp/openapps.log || echo "No log file found" | |
| kill $OPENAPPS_PID 2>/dev/null || true | |
| exit 1 | |
| fi | |
| sleep 1 | |
| done | |
| # Start the FastAPI environment server | |
| echo "Starting FastAPI environment server on port 8000..." | |
| cd /app/env | |
| exec uvicorn openapp_env.server.app:app --host 0.0.0.0 --port 8000 | |