Skip to content

Deployment

Services - api: FastAPI service (required) - asterisk: SIP/Asterisk backend (only when SIP is selected for inbound or outbound) - faxbot-mcp: MCP server (optional)

Ports - 8080: API - 3001: MCP HTTP (Node) - 3002: MCP SSE (Node) - 3003: MCP SSE (Python) - SIP/Asterisk only: 5060 (SIP), 5038 (AMI internal), 4000-4999 (UDPTL)

Storage and database - FAX_DATA_DIR for PDFs/TIFFs (default ./faxdata) - SQLite for dev; use Postgres in production (DATABASE_URL) - S3/S3‑compatible for inbound artifacts; for SSE‑KMS see AWS docs below

Public URL and TLS - Set PUBLIC_API_URL to your HTTPS endpoint - ENFORCE_PUBLIC_HTTPS=true for production with cloud backends - For quick testing, use a tunnel: - Cloudflare Tunnel: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/ - ngrok (HTTP): https://ngrok.com/docs/guides/http/

Artifacts cleanup - ARTIFACT_TTL_DAYS to delete old PDFs/TIFFs after completion - CLEANUP_INTERVAL_MINUTES controls sweep frequency

Security - Set API_KEY and require X-API-Key header - Never expose AMI (5038) publicly - Use HTTPS for callbacks and public endpoints

References - AWS S3 SSE‑KMS: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html - Third‑Party docs: Third-Party