> ## Documentation Index
> Fetch the complete documentation index at: https://docs.levelrail.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-host FastAPI + PostgreSQL with Docker

> A minimal Python HTTP service wired to a Postgres database, the reference pairing for a FastAPI backend.

A minimal Python HTTP service wired to a Postgres database, the reference pairing for a FastAPI backend.

This page describes the Levelrail template for FastAPI + PostgreSQL (Starter Kits). It deploys the services below as one Docker Compose app on your own server. Project site: [https://fastapi.tiangolo.com/deployment/docker/](https://fastapi.tiangolo.com/deployment/docker/).

Recommended memory: about 256 MiB.

## Services, ports and volumes

| Service | Image | Container ports | Volumes |
| - | - | - | - |
| `api` | `python:3.12-alpine` | 8000 | none |
| `db` | `postgres:16-alpine` | none | `fastapi_postgres_db_data -&#62; /var/lib/postgresql/data` |

## Environment variables

| Service | Variable | Value |
| - | - | - |
| `api` | `DATABASE_URL` | Generated at deploy |
| `db` | `POSTGRES_DB` | Preset in the template |
| `db` | `POSTGRES_PASSWORD` | Generated at deploy |
| `db` | `POSTGRES_USER` | Preset in the template |

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

## Deploy FastAPI + PostgreSQL with Levelrail

In the dashboard, open **Apps**, choose **New app**, then **Browse templates**, and select FastAPI + PostgreSQL. Review the Compose body and deploy.

With the CLI:

```bash theme={"dark"}
levelrail-cli templates deploy fastapi-postgres-starter --name my-fastapi-postgres-starter
```

See the [service template catalog](/templates-and-registry) for how templates work, and [Getting started](/getting-started) if you have not installed Levelrail yet.

## More Starter Kits templates

* [Next.js + PostgreSQL](/self-host/nextjs-postgres-starter)
* [Nginx Reverse Proxy (Multi-Backend)](/self-host/nginx-multi-backend-starter)
* [Node.js API + PostgreSQL](/self-host/node-postgres-starter)
* [Redis Cache Starter](/self-host/redis-cache-starter)
* [Static Site + API Backend](/self-host/static-site-api-starter)

All templates are listed in the [self-host gallery](/self-host).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.