Self-host Nginx Reverse Proxy (Multi-Backend) with Docker
One Nginx entrypoint routing to two independent backend services, demonstrating depends_on across three services.
This page describes the Levelrail template for Nginx Reverse Proxy (Multi-Backend) (Starter Kits). It deploys the services below as one Docker Compose app on your own server.
Project site: https://nginx.org/en/docs/http/ngx_http_proxy_module.html.Recommended memory: about 192 MiB.
Services, ports and volumes
| Service | Image | Container ports | Volumes |
|---|---|---|---|
orders | node:22-alpine | none | none |
payments | node:22-alpine | none | none |
proxy | nginx:1.27-alpine | 80 | none |
Environment variables
| Service | Variable | Value |
|---|---|---|
orders | NODE_ENV | Preset in the template |
payments | NODE_ENV | 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 Nginx Reverse Proxy (Multi-Backend) with Levelrail
In the dashboard, open Apps, choose New app, then Browse templates, and select Nginx Reverse Proxy (Multi-Backend). Review the Compose body and deploy.
With the CLI:
levelrail-cli templates deploy nginx-multi-backend-starter --name my-nginx-multi-backend-starterSee Service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.
More Starter Kits templates
- FastAPI + PostgreSQL
- Next.js + PostgreSQL
- Node.js API + PostgreSQL
- Redis Cache Starter
- Static Site + API Backend
- Background Worker + Redis Queue
All templates are listed in the self-host gallery.