Databases and backups
Databases you manage from the browser, backups you own
Create databases and users in a few clicks, without logging in to MySQL or psql. Back them up on a schedule to a bucket in your own account, and restore any backup from the same page.
Engines
MySQL, MariaDB or PostgreSQL, installed and tuned
Choose the engine when you create an app or database server. Each is installed from its own repository where needed, runs in UTC and accepts up to 300 connections.
MySQL
8.4 LTS or 8.0 on port 3306, with
utf8mb4andutf8mb4_unicode_ci. Root can only sign in on the server itself.MariaDB
11.4 LTS or 10.11 LTS on port 3306, with the same character set and the same locked-down root user.
PostgreSQL
18, 17 or 16 on port 5432, with password logins over
scram-sha-256and the firewall deciding who connects.
Databases and users without SQL
The Databases page creates databases, creates users with a password of at least 12 characters (or a generated 24-character one), and gives each user exactly the databases you tick. Changing access revokes the old privileges and grants only what is ticked now.
Passwords of users you create are never stored: each goes to the server once, in an encrypted job, and is forgotten. Databases made outside Vimonto Deploy, by a migration or by hand, are added with Fetch from server.
- Create a database and its own user while creating a site
- A ready-made SSH tunnel command for TablePlus, DBeaver or MySQL Workbench
- On an app server the database only listens on the server itself
- Database servers in a private network accept your other servers out of the box
Backups
How a backup runs
At the scheduled time a background task does this for every database in the schedule:
- 1
Dump
mysqldumpormariadb-dumpin a single transaction, with routines, triggers and events, orpg_dumpfor PostgreSQL. - 2
Compress
The dump is compressed with gzip into one
.sql.gzfile per database. - 3
Upload straight to your bucket
The server uploads to a folder you choose, as
backups/web-1/<date and time>/shop.sql.gzthrough a short-lived link for that one file. Your storage keys never reach the server. - 4
Prune
After a successful backup, the newest backups up to your Keep number stay and older ones are deleted from your bucket.
Backups on your terms
Any schedule
Hourly, nightly, weekly, monthly or a custom cron expression, in the server's timezone. Combine an hourly schedule with a monthly one.
Retention you choose
Keep 1 to 365 successful backups per schedule. A failed backup removes its partial files, because half a dump is of no use.
Your own storage
Amazon S3, DigitalOcean Spaces, Hetzner Object Storage, Scaleway, OVHcloud, Cloudflare R2, or any S3-compatible endpoint such as MinIO or Backblaze B2.
Storage integrationsFailure alerts
A failed backup sends a Backup failed notification to the team, and an email to any address you enter on the schedule.
Download or restore in a few clicks
Download any successful backup straight from your storage through a link that is valid for five minutes. To restore, choose the backup, pick the database to restore into and type its name to confirm: the server downloads the dump and replaces the tables.
Not sure yet? Create an empty database first and restore into that, so you can compare before you touch production.
Questions about databases and backups
Where are my backups stored?
In an S3-compatible bucket you own, never at Vimonto Deploy. You add the bucket once per organization and choose it per schedule. Storage costs are billed by your provider.
Are files or the whole server backed up?
No, backups contain databases only. Your code is in Git and deployed again with every release; keep uploads in object storage or back them up separately.
Can I restore a backup on another server?
Not from the page, which restores into a database on the same server. Download the .sql.gz file and import it on the other server, for example in the browser terminal.
Does Vimonto Deploy keep my database passwords?
No. Passwords of users you create are sent to the server once and forgotten. The server's own database password is shown once after provisioning and deleted when you confirm you stored it.
Can I start a backup from a script?
Yes. The REST API and the CLI can list backups and run one now, for example deploy backup:run db-1 "Nightly" --watch. See automation.
Related pages
- ServersProvisioning for every role: app, web, worker, database, cache, search and load balancer servers.
- IntegrationsCloud and DNS providers, Git hosts and S3-compatible storage, connected once per organization.
- AutomationA REST API, a CLI for CI, deploy URLs, recipes for repeated scripts and deploy hooks.
Your next deploy could be live before your coffee is.
Create an organization, connect a server and push. That is all.