Databases Overview
Skytells managed databases run as containers inside your project's private network. They are internal-only by default and reachable by all apps in the same project without any configuration. You can expose a database to the internet when needed.
A database in Skytells is a managed container running a database engine inside your project. It lives on the project's private internal network alongside your apps and is reachable by all of them from day one — no connection setup, no credentials to copy.
Databases are not exposed to the internet by default. You can optionally expose a database to the internet by setting a public port in the database overview.
Supported Engines
Skytells supports five database engines:
PostgreSQL
Reliable, ACID-compliant relational database. The recommended choice for most production workloads.
MySQL
Popular open-source relational database management system with broad ecosystem support.
MariaDB
Community-driven MySQL fork with enhanced features and performance characteristics.
MongoDB
Document-oriented NoSQL database for flexible, schema-free data models.
Redis
In-memory key-value store for caching, queues, sessions, and real-time data.
See Supported Engines for default ports, connection URL formats, and use-case guidance for each.
How Databases Fit Into a Project
When you create a database, it joins the project and its private internal network. From that moment:
- Every app in the same project can reach it by internal host and internal port — no extra configuration.
- Credentials are auto-generated (password, internal host, internal connection URL) and shown in the database overview.
- The database is not reachable from the internet until you explicitly set an external port.
The Pro tip shown in the New Database dialog says it all: databases are accessible internally by all apps and services in the same project via the private network — no extra configuration needed.
Database Detail Structure
Each database has its own detail page with five sections accessible from the left sidebar:
Overview — Credentials & Status
Shows the database engine, running status, and both Internal Credentials and External Credentials. This is where you expose the database to the internet by setting an external port.
Environment — Environment Variables
Environment variables scoped to this database container.
Logs — Container Output
Real-time and historical stdout/stderr from the database container.
Monitoring — Container Metrics
CPU, memory, disk I/O, and connection count metrics for this database.
Settings — Database Configuration
Rename, resize, configure backups, and manage the database lifecycle.
Internal Credentials
Every database exposes four internal credential fields in its Overview page:
| Field | Description |
|---|---|
| Password | Auto-generated secure password. Masked by default, copyable. |
| Internal Port (Container) | The port the database engine listens on inside the container (e.g. 6379 for Redis, 5432 for PostgreSQL). |
| Internal Host | The hostname used to reach this database from other services inside the project. |
| Internal Connection URL | A complete connection string your app can use directly. Injected as an environment variable into project apps automatically. |
Apps in the same project use the Internal Connection URL — it is available as an environment variable without any manual setup.
External Credentials
The database overview also shows an External Credentials section for internet access:
| Field | Description |
|---|---|
| External Port (Internet) | A port you choose and assign to expose this database publicly. Must not be in use by any other service in the project. |
| External Host | The public connection string for connecting from outside the project. Shown as a hostname or IP and port (e.g. redis://db.example.com:12826). If you have a custom domain pointed at your project, the external host will reflect that domain instead of a raw IP address. |
Port conflict warning. When exposing a database to the internet you must choose a port that is not already in use by any other app or database in this project. Using a conflicting port will prevent the database from binding correctly and may disrupt the service already using that port. Check all running services in your project before entering an external port.
Cloudflare proxied DNS breaks database connections. If your custom domain is managed through Cloudflare, make sure the DNS record pointing to your database host is set to DNS only (grey cloud), not Proxied (orange cloud). Cloudflare's proxy does not support raw TCP protocols such as PostgreSQL, MySQL, MongoDB, and Redis. A proxied record will silently drop the connection.
To enable internet access, enter an External Port in the database Overview and save. The External Host field populates automatically with the public connection string.
Managing Databases
Databases list
The Databases page for a project shows every database provisioned in that project as a card. Each card displays:
| Element | Description |
|---|---|
| Name | The label you gave the database when creating it (e.g. my-postgresql-db). |
| Engine | The database engine (e.g. PostgreSQL, Redis). |
| Status badge | Running (green) or Stopped (grey). |
| Port badge | The external port binding, if any. Shown as :6379 or :11926. If no external port is set, nothing is displayed here. |
Each card has three action buttons:
| Button | What it does |
|---|---|
| Stop | Stops the running database container. The data is preserved. |
| Restart | Restarts the container — useful after a configuration change. |
| Delete (trash icon) | Permanently removes the database and all its data. This action cannot be undone. |
Select + New Database in the top-right corner to provision an additional database. Use the refresh icon next to it to reload the list.
Security Model
| Access path | Default | After setting an external port |
|---|---|---|
| Apps in the same project (internal) | Yes — via Internal Connection URL | Yes — unchanged |
| Internet / external clients | No | Yes — via External Host |
| Apps in a different project | No — separate private network | No |
Related
- Supported Engines — engine-specific ports, connection URL formats, and use cases.
- Create a Database — step-by-step guide to provisioning a new database.
- Apps Overview — deploy services that connect to this database.
- Environment Variables — how auto-injected database credentials work alongside project-level variables.
- Enterprise Network — the private networking model all databases participate in.
How is this guide?
Deploy on Skytells
Add a one-click Deploy on Skytells button to your README or documentation — let anyone deploy your project to Skytells in seconds.
Supported Engines
Skytells supports five managed database engines — PostgreSQL, MySQL, MariaDB, MongoDB, and Redis. Each runs as a container inside your project's private network with auto-generated credentials and a unique internal port.