#!/usr/bin/env python3 """ Simple app.py that runs the Docker container for OpenCurro Backend on Hugging Face Spaces """ import subprocess import sys import time DOCKER_IMAGE_NAME = "opencurro-backend" DOCKER_CONTAINER_NAME = "opencurro-backend-container" def run_docker(): """Build and run Docker container""" try: print("🐳 Building Docker image...") # Build Docker image build_cmd = [ "docker", "build", "-f", "Dockerfile.hf-backend", "-t", DOCKER_IMAGE_NAME, "." ] result = subprocess.run(build_cmd, check=True) print("āœ… Docker image built successfully") # Remove old container if exists try: subprocess.run( ["docker", "rm", "-f", DOCKER_CONTAINER_NAME], capture_output=True ) except: pass # Run Docker container print("šŸš€ Starting Docker container...") run_cmd = [ "docker", "run", "--name", DOCKER_CONTAINER_NAME, "-p", "8000:8000", DOCKER_IMAGE_NAME ] subprocess.run(run_cmd, check=True) except subprocess.CalledProcessError as e: print(f"āŒ Error: {e}") sys.exit(1) except KeyboardInterrupt: print("\nšŸ›‘ Shutting down...") subprocess.run(["docker", "stop", DOCKER_CONTAINER_NAME], capture_output=True) subprocess.run(["docker", "rm", DOCKER_CONTAINER_NAME], capture_output=True) if __name__ == "__main__": print("šŸŽÆ OpenCurro AI Backend - Docker Runner") print("=" * 50) run_docker()