
FerretDB
MongoDB-compatible database built on PostgreSQL
Deploy FerretDB in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select FerretDB
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
FerretDB CLI Deployment
Deploy FerretDB the traditional way with SSH and Docker Compose.
Start a Secure Shell Session
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
Prepare Your Workspace
Set up a clean directory for your application.
# Create and navigate to project directory
mkdir -p ~/apps/ferretdb
cd ~/apps/ferretdbSet Up Container Configuration
Set 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)Bring Up the Application
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 Firewall
Configure 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:27017Prefer a visual interface? Use Server Compass.
Server Compass makes deploying FerretDB effortless. Visual setup, one-click deploy, done.
- Visual configuration UI
- One-click deployment
- Automatic SSL setup
- Zero-downtime updates
- Built-in monitoring
- One-click rollbacks
After Deployment
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.
FerretDB FAQ
Common questions about self-hosting FerretDB
How do I deploy FerretDB with Server Compass?
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.
What are the system requirements for FerretDB?
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.
Can I migrate my existing FerretDB data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard FerretDB backup and restore procedures.
How do I update FerretDB to the latest version?
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.
Is FerretDB free to self-host?
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.
Ready to Self-Host FerretDB?
Download Server Compass and deploy FerretDB to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass


