# Workflow Factor OS - Simulator Service This is the Simulator Service component of the Workflow Factor OS monorepo, deployed to Hugging Face Spaces. ## Environment Variables The following environment variables **MUST** be set in your Hugging Face Space settings: * `LLM_GATEWAY_URL`: The URL of your custom LLM gateway (e.g., `https://llm-routing-system.pyaesone-n8n.workers.dev/v1/chat/completions`) * `LLM_API_KEY`: Your API key for the LLM gateway. This will be used as the primary LLM key. * `N8N_BASE_URL`: The base URL of your n8n instance (e.g., `https://pyae1994-n8n-aiven-v1.hf.space/`) * `N8N_API_KEY`: Your API key for the n8n instance. * `INTERNAL_API_SECRET`: A shared secret between the Cloudflare Worker and this Simulator service for internal API authentication (e.g., `super-secret-PSA`). ## Deployment This service is designed to be deployed as a Docker image to Hugging Face Spaces. The `Dockerfile` in this directory handles the build process. ### Build and Run Locally (for testing) To build and run this service locally using Docker, navigate to the `apps/simulator` directory and execute: ```bash docker build -t wfo-simulator . docker run -p 7860:7860 -e LLM_GATEWAY_URL="your_llm_gateway_url" -e LLM_API_KEY="your_llm_api_key" -e N8N_BASE_URL="your_n8n_base_url" -e N8N_API_KEY="your_n8n_api_key" -e INTERNAL_API_SECRET="your_internal_api_secret" wfo-simulator ``` ### Hugging Face Spaces Deployment 1. Create a new Space on Hugging Face. 2. Select "Docker" as the Space SDK. 3. Upload the contents of the `apps/simulator` directory (including the `Dockerfile` and `.dockerignore`) to your Hugging Face Space repository. 4. Configure the environment variables listed above in the Space settings. 5. Hugging Face Spaces will automatically build and deploy your Docker image. **Note:** The service exposes port `7860` as required by Hugging Face Spaces for custom Docker applications.