Open the server Apps tab
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


MongoDB-compatible database built on PostgreSQL
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the FerretDB template in Server Compass to deploy a MongoDB-compatible database backed by PostgreSQL on your VPS, then verify it with mongosh.
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find FerretDB in the Server Compass template catalog.

Choose the FerretDB template. Server Compass fills the FerretDB service, PostgreSQL backend, persistent data volume, MongoDB-compatible host port, database name, backend username, and generated PostgreSQL password.

Confirm the app name and compose service. In this run, the app was named ferretdb-demo and used host port 27017.

Review the generated environment values, keep the PostgreSQL backend password masked, confirm the MongoDB-compatible port is available, and click Deploy Now.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the FerretDB image, starts the container, and verifies the stack.

After deployment finishes, return to the Apps tab and confirm the FerretDB app is marked Running with the database port available.

Open the app detail view and verify the running FerretDB and PostgreSQL containers. In this tutorial run, a temporary MongoDB client container confirmed that FerretDB responded to a ping.

A temporary MongoDB client container returned ping result 1 against the FerretDB service.
It deploys FerretDB plus a PostgreSQL backend. FerretDB exposes a MongoDB-compatible endpoint while data is stored in PostgreSQL.
The tutorial used host port 27017, which maps to FerretDB container port 27017.
FerretDB is a database service, not a web application. The tutorial verifies it with mongosh from a temporary client container instead of opening a browser page.
No. The deployment guide should live on the FerretDB template detail page and be linked from the reusable template deployment docs page.
Deploy FerretDB the traditional way with SSH and Docker Compose.
Open your terminal and connect to your server. Replace the IP address with your VPS IP.
# SSH into your server
ssh root@your-server-ip
# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ipFirst time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh
Set up a clean directory for your application.
# Create and navigate to project directory
mkdir -p ~/apps/ferretdb
cd ~/apps/ferretdbSet up the container stack using this Docker Compose configuration:
services:
ferretdb:
image: ferretdb/ferretdb:latest
ports:
- "27017:27017"
environment:
- FERRETDB_POSTGRESQL_URL=postgres://ferret:<your-postgres-password>@postgres:5432/ferretdb
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_USER=ferret
- POSTGRES_PASSWORD=<your-postgres-password>
- POSTGRES_DB=ferretdb
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ferret -d ferretdb"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
PORTMongoDB port(default: 27017)POSTGRES_USERUser(default: ferret)POSTGRES_PASSWORDPasswordPOSTGRES_DBDatabase(default: ferretdb)Launch your application stack in the background.
# Start the containers in detached mode
docker compose up -d
# Check if containers are running
docker compose ps
# View logs
docker compose logs -fConfigure your firewall to permit external connections.
# Allow the application port through firewall
sudo ufw allow 27017/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:27017Server Compass makes deploying FerretDB effortless. Visual setup, one-click deploy, done.
After deploying FerretDB with Server Compass, complete these steps to finish setup
Connect with mongosh or MongoDB drivers
Create collections (stored as PostgreSQL tables)
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting FerretDB
Simply download Server Compass, connect to your VPS, and select FerretDB from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
FerretDB requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard FerretDB backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest FerretDB image will be pulled and deployed with zero downtime.
FerretDB is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Download Server Compass and deploy FerretDB to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass