# Hugging Face Spaces Deployment This guide shows how to deploy OhMyCaptcha on **Hugging Face Spaces** using a Docker-based Space. ## When to choose Hugging Face Spaces Use Hugging Face Spaces when you want: - a simple public or private demo deployment - a UI-driven hosting workflow - easy secret management inside the Space settings - a Docker-based environment without managing a VPS yourself ## 1. Prepare the repository Make sure your repository includes: - `Dockerfile.render` - `main.py` - `requirements.txt` - the `src/` application package For Hugging Face Spaces, the current Dockerfile can be reused as a starting point because it already installs Python dependencies and Playwright Chromium. ## 2. Create a Docker Space In Hugging Face: 1. Create a new **Space**. 2. Choose **Docker** as the SDK. 3. Select visibility according to your needs. 4. Connect the Space to this repository or upload the project files. ## 3. Configure secrets and variables In the Space settings, add the following secrets: - `CLIENT_KEY` - `CAPTCHA_API_KEY` Add or override variables as needed: - `CAPTCHA_BASE_URL` - `CAPTCHA_MODEL` - `CAPTCHA_MULTIMODAL_MODEL` - `BROWSER_HEADLESS=true` - `BROWSER_TIMEOUT=30` - `SERVER_PORT=7860` Hugging Face Spaces typically expose applications on port `7860`, so set `SERVER_PORT=7860`. ## 4. Confirm the startup command The container should start the app with: ```bash python main.py ``` The entrypoint already respects environment-based port configuration. ## 5. Wait for the build to finish After the Space starts building: - watch the build logs - confirm dependency installation finishes successfully - confirm Playwright Chromium installs successfully - wait for the app to enter the running state ## 6. Validate the deployment Once the Space is live, verify: ### Root endpoint ```bash curl https://.hf.space/ ``` ### Health endpoint ```bash curl https://.hf.space/api/v1/health ``` ### Create a detector task ```bash curl -X POST https://.hf.space/createTask \ -H "Content-Type: application/json" \ -d '{ "clientKey": "your-client-key", "task": { "type": "RecaptchaV3TaskProxyless", "websiteURL": "https://antcpt.com/score_detector/", "websiteKey": "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf", "pageAction": "homepage" } }' ``` ## Operational notes - Hugging Face Spaces are convenient, but cold starts and resource limits can affect Playwright-based workloads. - Browser automation can be more sensitive to shared-hosting environments than standard API-only apps. - If you need stricter runtime control, use Render or your own infrastructure. ## Recommended usage Hugging Face Spaces is best suited for: - evaluation - demos - low-volume internal usage - fast public documentation-linked deployment