Levelrail
Skip to content

Self-host Next.js + PostgreSQL with Docker ​

The SSR-plus-database pairing behind most Next.js apps, wired with a healthchecked Postgres.

This page describes the Levelrail template for Next.js + PostgreSQL (Starter Kits). It deploys the services below as one Docker Compose app on your own server.

Project site: https://nextjs.org/docs/app/building-your-application/deploying.

Recommended memory: about 384 MiB.

Services, ports and volumes ​

ServiceImageContainer portsVolumes
dbpostgres:16-alpinenone
nextjs_postgres_db_data -> /var/lib/postgresql/data
webnode:22-alpine3000none

Environment variables ​

ServiceVariableValue
dbPOSTGRES_DBPreset in the template
dbPOSTGRES_PASSWORDGenerated at deploy
dbPOSTGRES_USERPreset in the template
webDATABASE_URLGenerated at deploy
webNEXT_TELEMETRY_DISABLEDPreset 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 Next.js + PostgreSQL with Levelrail ​

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

With the CLI:

levelrail-cli templates deploy nextjs-postgres-starter --name my-nextjs-postgres-starter

See Service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.

More Starter Kits templates ​

All templates are listed in the self-host gallery.

Released under the Apache 2.0 License.