Databases & backend

Managed databases. Right next to your app.

Run PostgreSQL, MySQL, MariaDB, Redis or MongoDB on your team’s private network. Attach one to a project and its connection string lands in the app’s environment — with daily backups, metrics and a browser console built in.

Private network by defaultDATABASE_URL on attachDaily backups by defaultConsole in the browserServers in France
hostingsurge.com/dashboard/databasesLive demo

Chapter 1 of 5: All five engines in one list, each with its status and the project that uses it.

Example data

A database that looks after itself, next to your app

The parts you would otherwise script, patch and keep an eye on yourself.

  • Five engines, one dashboard

    PostgreSQL, MySQL, MariaDB, Redis and MongoDB, managed where you manage your deployments. PostgreSQL adds PgBouncer connection pooling and extensions such as pgvector.

  • Private by default

    Every database runs on your team’s private network, reachable only from your projects. Public access is a switch: it gives you a host and port, and closes again.

  • Connected in one step

    Attach a database to a project and its connection URL is stored as a sensitive variable — DATABASE_URL, REDIS_URL or MONGODB_URI. Redeploy and the app is connected.

  • Backups from day one

    New databases are backed up every day at 03:00 UTC and each backup is kept for 30 days. Change the schedule, or back up on demand before a migration.

  • Restore or download

    Restore a backup into a new database, or in place after an automatic safety backup. Download any backup; every night they are also copied, encrypted, to storage in the EU.

  • Console and metrics built in

    Browse tables and run queries in the browser without opening the database to the internet. Metrics show load, connections, cache hits and size over 90 days.

Restores come from these backups: point-in-time recovery is not available for customer databases. MongoDB backups can be downloaded but not restored from the dashboard, and Redis has no scheduled backups.

From zero to connected in three steps

The same steps the demo above plays. No server to set up, no credentials to copy around.

  1. Create a databasePick an engine and a name. It starts on your team’s private network, with daily backups already on.
  2. Attach it to your appChoose the project. The connection URL is added to its environment variables; redeploy and the app reads it like any other variable.
  3. Watch it, query it, restore itFollow its metrics, run queries in the console and restore a backup when you need one.

Why run it here

What a database on a server you run leaves to you, and what Hostingsurge takes care of.

TaskOn a server you runOn Hostingsurge
BackupsA cron job, dump rotation and somewhere to keep the filesDaily by default, kept 30 days, plus backups on demand
Off-site copyAnother provider and another scriptCopied every night, encrypted, to storage in the EU
RestoreBy hand, from the command lineInto a new database, or in place after a safety backup
Looking at the dataA client on your laptop and an open portA console in the browser, read-only by default, every statement audited
MonitoringAn exporter and dashboards to set upMetrics every five minutes, with 90 days of history
Connecting the appCredentials copied into its configDATABASE_URL added when you attach the database

Around the database

Secrets, scheduled work and a clear view of what each project uses — next to your deployments.

  • Environment variables and secrets. Keep API keys and connection strings out of your code. Sensitive values stay hidden once saved, and changes apply on the next deploy.
  • Cron jobs. Run recurring commands — a nightly cleanup, a report — on a schedule in your app’s container, or start one with Run now.
  • Project storage. Each project’s Storage view shows the databases it uses. Connect any database from your team to any project.

From your terminal

# Create PostgreSQL and attach it to a project
hostingsurge databases create shop-db --engine postgresql --project shop

# Seven days of metrics, with sparklines
hostingsurge databases metrics shop-db --range 7d

# Back up now, then list the backups
hostingsurge databases backups shop-db run
hostingsurge databases backups shop-db ls

The same actions are in the REST API and over MCP, and every command can print --json. The console is the exception: it answers signed-in dashboard sessions only. Explore the API and CLI

What each engine gets

One dashboard for all five. Backups and restores follow what each engine supports.

EngineGood forScheduled backupsRestore from the dashboard
PostgreSQLRelational data for web apps and APIsDaily by defaultInto a new database or in place
MySQLPHP apps and many frameworksDaily by defaultInto a new database or in place
MariaDBOpen source, compatible with MySQLDaily by defaultInto a new database or in place
MongoDBJSON-shaped documentsDaily by defaultDownload only
RedisCaching, sessions and queuesNot available—

Already running one elsewhere? Import a PostgreSQL, MySQL, MariaDB, MongoDB or Redis dump, or copy a live database in. All migration sources

Priced like the rest of Cloud

Databases are on the Cloud price list: a fixed price per database, or usage billed per second.

  • PostgreSQL Basic

    0.1 vCPU256 MB

    $6 / month

  • PostgreSQL 1 GB

    0.5 vCPU1 GB

    $19 / month

  • Key Value 256 MB

    Redis-compatible256 MB

    $10 / month

Or pay for usage: $20 per vCPU and $10 per GB of memory a month, billed per second. MySQL, MariaDB and MongoDB run on usage pricing or on a fixed instance.

Launch prices in USD, excluding VAT. Paid checkout is not open yet: every account runs free today and nothing is charged. Compare Cloud pricing

Database questions, answered

Which databases can I create?

PostgreSQL, MySQL, MariaDB, Redis and MongoDB. Each one runs as a managed database on your team’s private network.

How does my app connect to its database?

Attach the database to a project and its connection URL is added to the project’s environment variables as a sensitive value: DATABASE_URL, or REDIS_URL and MONGODB_URI for Redis and MongoDB. Redeploy, and your app reads it like any other variable.

Are backups automatic?

Yes, for PostgreSQL, MySQL, MariaDB and MongoDB: new databases are backed up every day at 03:00 UTC and each backup is kept for 30 days. You can change the schedule or back up on demand, and every night the backups are also copied, encrypted, to storage in the EU outside the server. Redis has no scheduled backups.

Can I restore to a point in time?

No. Restores use the scheduled and on-demand backups: PostgreSQL, MySQL and MariaDB backups restore into a new database or in place after a safety backup, and MongoDB backups can be downloaded.

Can I look inside the database without opening it to the internet?

Yes. The browser console lists tables, collections or keys and runs statements over your dashboard session. It starts read-only; write mode is a confirmed switch, and every statement is recorded in the team’s audit log.

Can I connect from my own computer?

Yes. Turn on public access and the database gets a public host and port for your own tools. Turn it off again when you are done — by default, a database is only reachable from your team’s projects.

Can I move an existing database here?

Yes. Import a PostgreSQL, MySQL, MariaDB, MongoDB or Redis dump, or copy a live database in. Rather have our team do it? Ask for a concierge migration

Where is my data stored?

On servers in France (EU), behind a firewall. Every team’s projects, data and credentials are isolated from other teams.

Give your app a database today.

Start free, then create PostgreSQL, MySQL, MariaDB, Redis or MongoDB next to your projects — or import the one you already run.