Overview
Better-PaaS can deploy FastAPI projects from a Git repository or Docker image. The platform builds the app, runs it in a container, routes traffic through Caddy, and gives you logs, env vars, domains, databases, and rollbacks from the dashboard.
What Better-PaaS expects
FastAPI projects should have a clear build and start path. For this stack, the common shape is Python APIs with ASGI servers and environment variables. If Nixpacks does not detect the project correctly, use explicit build/start commands or a Dockerfile.
Deployment steps
Connect the repository, choose the branch, set environment variables, attach any database, deploy, then verify the app responds on the platform-provided port. Better-PaaS will handle container lifecycle and HTTPS routing after the app is healthy.
- Connect Git repository
- Set build and runtime variables
- Add Postgres, Redis, or MySQL if needed
- Deploy and inspect logs
- Add domain and verify HTTPS
Common mistakes
The most common issue is hard-coding a port instead of listening on the provided PORT variable. Build failures usually come from missing lockfiles, missing scripts, or framework detection that needs a custom Dockerfile.
FastAPI + Uvicorn deploy notes
Entry point is typically uvicorn main:app. Worker count should stay low on small VPS instances (1–2 workers).
- requirements.txt or pyproject.toml must be present
- Bind 0.0.0.0 and read PORT from environment
- Attach Redis if using background tasks with Celery/RQ
FAQ
Can Better-PaaS deploy FastAPI from Git?
Yes, when the repository can be built by Nixpacks or by a Dockerfile you provide.
Can FastAPI apps use databases?
Yes. Better-PaaS can provision Postgres, Redis, and MySQL containers and inject connection variables into apps.