Self-hosted setup
Connect VeritasAd to your own server without guesswork.
This page focuses on the MVP path: point the frontend at your backend, disable auth if you need a quick demo, and verify the connection immediately from the UI.
Quick start
Step 1
Run the backend
Start FastAPI locally or on your server, then make sure `/health` responds successfully.
cd backend && uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Step 2
Point the frontend to your API
Use `NEXT_PUBLIC_API_URL` so the browser knows where to send uploads, progress streams, and report requests.
NEXT_PUBLIC_API_URL=http://localhost:8000
Step 3
Enable MVP auth bypass if needed
For self-hosted demos without Supabase, explicitly disable auth on both sides.
NEXT_PUBLIC_DISABLE_AUTH=true DISABLE_AUTH=true
Checklist
Backend `/health` returns 200 OK
Backend `CORS_ORIGINS` includes your frontend origin
Frontend `NEXT_PUBLIC_API_URL` points at the correct domain
Realtime progress works over WebSocket or SSE
Analyze page opens without Supabase when mock auth is enabled
Self-hosted MVP
Backend connection status
API endpoint
http://localhost:8000
Auth mode
Mock / disabled
Health check
Checking...
Frontend is successfully reaching http://localhost:8000. MVP mode is ready for self-hosted demos without Supabase.
Frontend env
NEXT_PUBLIC_API_URL=https://api.your-domain.com
NEXT_PUBLIC_DISABLE_AUTH=true
Backend env
DISABLE_AUTH=true
CORS_ORIGINS=["https://app.your-domain.com","http://localhost:3000"]
DATABASE_URL=sqlite+aiosqlite:///./veritasad_dev.db
Useful routes
GET
/health
Basic health probe for the backend.
POST
/api/v1/analyze/check
Submit file or URL analysis jobs.
GET
/api/v1/analysis/{taskId}/stream
Progress updates over SSE.
Next recommended step
Open the analysis workspace and confirm that the connection badge shows your API as online before tuning models, payments, or auth providers.