Render deployment notes
-
Connect repository to Render
- Go to https://render.com and create a new Web Service.
- Connect your GitHub/GitLab repo and select the
mainbranch.
-
Build & start commands
- Render will read
render.yamlautomatically. The manifest uses: buildCommand: pip install -r requirements.txt startCommand: uvicorn personal_finance.web_gui:app --host 0.0.0.0 --port $PORT - A
Procfileis included as a fallback for other platforms.
- Render will read
-
Environment variables / secrets
- In the Render dashboard for the service, add the env var
DATABASE_URL(set to your PostgreSQL connection string, e.g.postgresql://user:pass@hostname:5432/dbname). - Do NOT put DB credentials in the repository.
- In the Render dashboard for the service, add the env var
-
Local testing
-
Install deps:
pip install -r requirements.txt -
Run app locally (point to local DB or SQLite for dev):
PYTHONPATH=src uvicorn personal_finance.web_gui:app --reload
-
If you want to test with sqlite locally, edit
src/personal_finance/web_gui.pyto instantiateGUIService(database_url='sqlite:///./test.db')instead of the default.
-
-
Notes & next steps
- The project enforces PostgreSQL in production code paths; local sqlite is supported via explicit
database_urltoGUIServicefor development only. - If you want automated database migrations on deploy, we can add a small
startwrapper script that runs Alembic migrations before starting uvicorn (recommended). I can add that next.
- The project enforces PostgreSQL in production code paths; local sqlite is supported via explicit