# Render Blueprint for data-cleaning-openenv # Deploy this via: https://dashboard.render.com/blueprint # # Prerequisites: # 1. Create PostgreSQL database on Render (manually, then copy DATABASE_URL) # 2. Create Redis service on Render (manually, then copy REDIS_URL) # 3. Get HF_TOKEN from huggingface.co # 4. Generate JWT_SECRET: python -c "import secrets; print(secrets.token_urlsafe(32))" # # This blueprint creates: # - Backend FastAPI service # - Celery worker # # You must create PostgreSQL and Redis manually (see DEPLOYMENT.md) # Frontend is deployed separately (see DEPLOYMENT.md) services: # Backend FastAPI Service - type: web name: data-cleaning-backend runtime: docker repo: https://github.com/AnubhavKiroula/data-cleaning-openenv branch: main dockerfilePath: ./backend/Dockerfile dockerContext: ./backend envVars: - key: DATABASE_URL value: postgresql://admin:password@postgres:5432/data_cleaning comment: "REQUIRED: Replace with your Render PostgreSQL URL" - key: REDIS_URL value: redis://redis:6379/0 comment: "REQUIRED: Replace with your Render Redis URL" - key: JWT_SECRET sync: false comment: "REQUIRED: Generate with python -c 'import secrets; print(secrets.token_urlsafe(32))'" - key: ENVIRONMENT value: production - key: LOG_LEVEL value: INFO - key: API_BASE_URL value: https://api-inference.huggingface.co/v1 - key: MODEL_NAME value: meta-llama/Llama-3.2-1B-Instruct - key: HF_TOKEN sync: false comment: "REQUIRED: Get from huggingface.co/settings/tokens" numInstances: 1 healthCheckPath: /health # Celery Worker - type: worker name: data-cleaning-celery runtime: docker repo: https://github.com/AnubhavKiroula/data-cleaning-openenv branch: main dockerfilePath: ./backend/Dockerfile dockerContext: ./backend dockerCommand: celery -A backend.tasks worker --loglevel=info envVars: - key: DATABASE_URL value: postgresql://admin:password@postgres:5432/data_cleaning comment: "REQUIRED: Replace with your Render PostgreSQL URL" - key: REDIS_URL value: redis://redis:6379/0 comment: "REQUIRED: Replace with your Render Redis URL" - key: JWT_SECRET sync: false comment: "REQUIRED: Generate with python -c 'import secrets; print(secrets.token_urlsafe(32))'" - key: ENVIRONMENT value: production - key: LOG_LEVEL value: INFO - key: API_BASE_URL value: https://api-inference.huggingface.co/v1 - key: MODEL_NAME value: meta-llama/Llama-3.2-1B-Instruct - key: HF_TOKEN sync: false comment: "REQUIRED: Get from huggingface.co/settings/tokens"