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.
Databases & backend
Run PostgreSQL, MySQL, MariaDB, Redis or MongoDB on your team’s private network. Attach a database to a project and its connection string lands in the app’s environment variables — no credentials to copy around.
Pick the database your app expects. It runs on your team’s private network and is managed from the same place as your deployments.
Create a database, hand it to your app and put backups on a schedule.
Your data stays on your team’s private network until you open it. Backups run on the schedule you set, and you can restore from the dashboard, the CLI or the API.
Secrets, scheduled work and a clear view of what each project uses — managed next to your deployments.
Keep API keys and connection strings out of your code. Sensitive values stay hidden once saved, and changes apply on the next deploy.
Run recurring commands — a nightly cleanup, a report, a cache warm-up — on a schedule in your app’s container. Start any job with Run now.
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 # Back up every night at 03:00 and keep 14 days hostingsurge databases backups shop-db set --frequency "0 3 * * *" --retention-days 14 # Open it to your own machine, then close it again hostingsurge databases public shop-db on hostingsurge databases public shop-db off
The same actions are available in the REST API and over MCP, and every command can print --json for scripts. Explore the API and CLI
Engines, connections, backups and access.
PostgreSQL, MySQL, MariaDB, Redis and MongoDB. Each one runs as a managed database on your team’s private network.
Attach the database to a project and its connection string is added to the project’s environment variables as DATABASE_URL. Redeploy, and your app reads it like any other variable.
You decide. Set a schedule, for example every night, choose how many days to keep each backup, or run one on demand. Restores are available from the dashboard, the CLI and the API.
Yes. Turn on public access and the database gets a public host and port you can reach from your own tools. Turn it off again when you’re done — by default, a database is only reachable from your team’s projects.
Yes. Import a PostgreSQL, MySQL, MariaDB, MongoDB or Redis dump and it’s restored into a managed database. Rather have our team do it? Ask for a concierge migration
On servers in the EU, in France, behind a firewall. Every team’s projects, data and credentials are isolated from other teams.
Create PostgreSQL, MySQL, MariaDB, Redis or MongoDB next to your projects, or import the one you already run.