Database Overview
Managed and external instances for PostgreSQL, MySQL, MariaDB and Redis, TLS and history.
The database center gives every database you run one place for status, connections, queries, users and backups, whether VPSPilot created it or it was already there.
Supported engines
MongoDB, SQLite and SQL Server are planned.
Managed instances
A managed instance is a container VPSPilot creates on a server: vpdb-<name> on the private vpspilot network, with its data in a Docker volume of the same name. A strong admin password is generated and stored encrypted.
- Apps on the same server reach it at
vpdb-<name>:<port>. - It isn’t published on the server’s public interfaces. Set a local port to also expose it on
127.0.0.1, for an SSH tunnel or a tool running on the host. - Start, stop and restart it from the dashboard.
Removing a managed instance deletes the container. Its data volume is kept unless you also choose to delete the data, so an accidental removal can be undone by creating it again with the same name.
External instances
An external instance is a database you already run: installed with apt, in your own container, or a hosted service. Register it with its host, port and credentials, and pick which server should reach it. That server’s agent connects with a throwaway client container on the host network, so no database client has to be installed on the server.
POST /api/v1/databases/external{ "name": "legacy-mysql", "server_id": "c1f0…", "engine": "mysql", "host": "127.0.0.1", "port": 3306, "user": "vpspilot_monitor", "password": "…"}Give VPSPilot a dedicated, least-privileged login for an external database rather than the admin account. Read-only grants are enough for monitoring and the data browser.
A database installed on the server itself
Use host 127.0.0.1. On Ubuntu, the postgres user has no password by default; give it one (or create a dedicated login) so VPSPilot can connect over TCP:
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'a-strong-password';"Apps in Docker containers can't reach it as localhost; see Applications. Moving the data into a managed instance is described in Import and export.
Connection security
Change it later under the database's Settings → Connection security; saving tests the connection again. The same settings apply to queries, backups and imports.
Link-local addresses (such as the 169.254.169.254 cloud metadata service), unspecified, multicast and reserved addresses are refused, both when you register the database and again on the server after resolving its name. The agent then connects to the address it checked, so a DNS change can't redirect it.
History
Every five minutes, VPSPilot samples each running database: connections and size on disk for SQL engines; memory, keys and operations per second for Redis. The Overview tab charts the last 6 hours, 24 hours or 7 days.
Connection strings
The connection panel builds a ready-to-paste URL for the instance. Viewing it is audited because it contains a password.
postgresql://app_user:••••@vpdb-main:5432/appmysql://app_user:••••@vpdb-shop:3306/shopredis://worker:••••@vpdb-cache:6379/0