Managed Database Add-ons: PostgreSQL, MySQL, MongoDB & MariaDB Without the Hassle
You just need a Postgres database for your container. Thirty minutes later you're deep in VPC configuration, security groups, and IAM roles while your launch window closes.
That moment is not rare. It exposes the operational tax of running data services: time lost to configuration, context switching between platforms, and brittle scripts that break under load. Managed databases should remove that tax and keep your time focused on product.
SnapDeploy's managed database add-ons put your containers and your data under one control plane. This guide covers which engine to choose, how provisioning and integration work, what the browser-based interface can do, operational best practices, and how the offering compares to alternatives.
What the Add-ons Deliver
Four managed database engines live in the same dashboard where you run containers:
| Database | Type | Best For | Web Interface |
|---|---|---|---|
| PostgreSQL | Relational (SQL) | Complex queries, data integrity, analytics | pgAdmin-style UI |
| MySQL | Relational (SQL) | Traditional web apps, PHP, broad compatibility | phpMyAdmin-style UI |
| MariaDB | Relational (SQL) | MySQL-compatible, open-source preference | phpMyAdmin-style UI |
| MongoDB | Document (NoSQL) | Flexible schemas, JSON data, rapid prototyping | Compass-style UI |
The design goals are consistent across engines: one-click provisioning, automatic injection of connection strings into container environment variables, a browser-first web interface for routine admin, and predictable billing with clearly defined tiers.
Which Database Should You Pick?
PostgreSQL
Choose it when you need strong data integrity, ACID transactions, complex joins, window functions, or extensions like PostGIS for geographic data. Postgres also handles JSON alongside relational data well, making it a flexible default for new projects.
MySQL
Choose it when your framework expects MySQL compatibility. Most PHP apps, WordPress, and many existing web stacks assume MySQL. It handles CRUD workloads well and has straightforward replication and migration paths.
MariaDB
Choose it when you want MySQL protocol compatibility with an open governance model. MariaDB offers different engine-level optimizations and certain storage engines that MySQL lacks. If you use MySQL today and prefer open-source licensing, MariaDB is a drop-in replacement.
MongoDB
Choose it when your schema is document-first and changes frequently. If you're modeling nested JSON documents, iterating rapidly on data structures, or building a content management system where flexibility matters more than rigid schemas, MongoDB fits.
Not sure? Default to PostgreSQL for new projects that need relational queries or data integrity guarantees. Use MongoDB for document-first designs with variable schemas.
Provisioning: Under a Minute, Start to Finish
The workflow is intentionally simple:
- Go to Dashboard → Add-ons
- Select your database engine: PostgreSQL, MySQL, MariaDB, or MongoDB
- Choose a tier (see pricing below)
- Click "Create Database"
- Wait 30–60 seconds for provisioning
After provisioning completes:
- A connection string is automatically injected into your container's environment variables
- The web UI endpoint is available at a predictable subdomain
- Automated backups and basic monitoring are enabled by default
Pricing
Tiers are identical across all four engines:
| Tier | RAM | CPU | Storage | Connections | Price |
|---|---|---|---|---|---|
| Mini | 1 GB | 0.5 vCPU | 5 GB | 50 | $24/mo |
| Standard | 2 GB | 0.5 vCPU | 10 GB | 100 | $44/mo |
| Pro | 4 GB | 1 vCPU | 25 GB | 200 | $84/mo |
Database add-ons are billed separately from container compute. Plan for headroom in production—if your tested peak is 40 connections, start with Standard (100 connections) rather than Mini (50).
Connection Strings and Integration
SnapDeploy injects credentials as environment variables so secrets never end up in source control. Your app reads the connection string at runtime:
PostgreSQL
DATABASE_URL=postgresql://user:[email protected]:5432/dbname
MySQL / MariaDB
DATABASE_URL=mysql://user:[email protected]:3306/dbname
MongoDB
MONGODB_URI=mongodb://user:[email protected]:27017/dbname
Framework Examples
Prisma (Node.js) with PostgreSQL
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
Mongoose (Node.js) with MongoDB
const mongoose = require('mongoose');
mongoose.connect(process.env.MONGODB_URI);
SQLAlchemy (Python) with PostgreSQL
import os
from sqlalchemy import create_engine
engine = create_engine(os.environ['DATABASE_URL'])
Django with PostgreSQL/MySQL/MariaDB
import dj_database_url
DATABASES = {
'default': dj_database_url.config(conn_max_age=600)
}
Express.js with MySQL/MariaDB
const mysql = require('mysql2');
const connection = mysql.createConnection(process.env.DATABASE_URL);
Because the platform injects the connection string, your code stays agnostic to credential rotation. No secrets in config files, no manual env setup.
The Browser-Based Database Interface
This is one of the most powerful parts of the offering. The built-in web UI removes setup friction that normally costs you 20–30 minutes before you can even look at your data.
Here's a real scenario: it's 11 PM, a user reports a bug, and you need to check a database row. Without a web interface, you'd install pgAdmin, configure the connection, find the right table, and run a query. With SnapDeploy, you open the dashboard, click "Open Web Interface", type your SELECT query, and see the answer in under a minute. No local tooling, no SSH.
What You Can Do in the Browser
For SQL databases (PostgreSQL, MySQL, MariaDB):
- Browse tables and inspect schemas — see columns, types, and relationships at a glance without writing a single query
- Run SQL queries directly — a full SQL editor with syntax highlighting, auto-complete, and query history so you can reuse common checks
- Export and import data — download results as CSV, JSON, or SQL dump. Upload SQL files or CSVs to seed data or migrate
- View explain plans — spot slow queries and missing indexes without setting up local performance tooling
- Manage users and permissions — create read-only users for team members, QA testers, or stakeholders who need to view data but not modify it
For MongoDB:
- Browse collections and edit documents — view, filter, and modify documents directly in the browser
- Visual query builder + raw JSON — build queries visually or paste raw JSON for complex filters
- Index management — create, view, and drop indexes to optimize query performance
- Export as JSON or BSON — for backups, migrations, or local analysis
Who benefits most: Solo developers who don't want to configure pgAdmin or Compass locally. QA testers who need to inspect state and reproduce bugs. Product managers who want to check data without asking engineering. Recruiters or interviewers reviewing a portfolio project—they can see live data with zero setup.
Security and Operational Best Practices
- Never store credentials in code. Read them exclusively from the environment variables injected by the dashboard.
- Use connection pooling. For high-traffic apps, pools reduce connection churn. Make sure your pool limits match your tier's connection limit.
- Enable automated backups immediately. They're on by default, but also export backups off-platform periodically for an extra safety net.
- Test your restore procedure. A backup you've never tested is a backup that might not work. Import into a staging instance and verify.
- Create separate users for apps vs. admin. Grant only the permissions each role needs. Rotate admin credentials on a schedule.
- Monitor slow queries and resource usage. Watch disk IOPS, CPU, and connection counts. Add headroom before you hit limits.
Migration: Moving Your Existing Database
If you have an existing database elsewhere, migration follows four steps:
- Export from source: Use
pg_dumpfor Postgres,mysqldumpfor MySQL/MariaDB, ormongodumpfor MongoDB. - Provision a staging instance: Create a Mini tier add-on to test the import before touching production.
- Import and validate: Restore the dump, run schema checks, and smoke test with sample queries.
- Cutover: Update the container environment variable to the new connection string. Monitor for 72 hours and review slow query logs.
How It Compares to Alternatives
| Provider | Pros | Cons |
|---|---|---|
| Self-managed (Docker) | Full control, no lock-in | You own backups, security, and recovery. Data loss if container restarts. |
| PlanetScale | MySQL-compatible, branching workflows | Different paradigm from standard SQL. Separate platform from your containers. |
| Supabase | Postgres + real-time features | Steeper learning curve. Another control plane to manage. |
| MongoDB Atlas | Advanced MongoDB features, enterprise-grade | Separate billing and platform. Gets expensive at scale. |
| AWS RDS | Enterprise-grade, regional options | Complex VPC setup. Expensive for small teams. |
| SnapDeploy Add-ons | Integrated with containers, web UI, auto-configured connections | Not suited for multi-region replication or enterprise compliance requirements. |
Choose SnapDeploy add-ons when you want low-friction, consolidated management of containers and databases under one dashboard. Consider external providers when you need advanced multi-region replication, specialized compliance certifications, or storage IOPS beyond the platform tiers.
Quick-Start Checklist
- Confirm your data model: relational (PostgreSQL/MySQL/MariaDB) or document (MongoDB)
- Estimate concurrency and storage needs, including headroom
- Choose a tier based on RAM, connections, and storage
- Create separate dev, staging, and production instances
- Ensure your app reads connection strings from environment variables
- Enable automated backups and schedule periodic off-platform exports
- Test your restore procedure in a non-production environment
Conclusion
Databases should accelerate your product, not introduce new bottlenecks. Managed add-ons that sit next to your containers reduce friction at every stage: provisioning, connection management, day-to-day administration, backups, and billing.
Start by provisioning a Mini tier in a staging environment and migrating a representative dataset. Validate performance, backups, and connection pooling. After 72 hours of monitoring, scale to production with appropriate headroom.
One dashboard for your containers and your data—that's the point.
For step-by-step documentation, see Add-on Services. For environment variable management, see Environment Variables. For pricing details, see Pricing.
Ready to Deploy?
Get 100 free hours to deploy and test your applications. No credit card required.
Get DevOps Tips & Updates
Container deployment guides, platform updates, and DevOps best practices. No spam.
Unsubscribe anytime. We respect your privacy.