Databases

Create a Database

Step-by-step guide to provisioning a managed database inside a Skytells project — choose an engine, configure credentials, and connect your apps over the private network in minutes.

Databases are provisioned from inside a project. Each database runs as a managed container on the project's private internal network and is immediately reachable by all apps in that project.

Before You Start

  • You need an existing project. If you do not have one, see Create a Project.
  • Decide which database engine fits your workload. See Supported Engines for a comparison.

Creating a Database

Open the Databases Page

Open your project in the Console and select Databases from the left sidebar.

Start a New Database

Select New Database in the top-right corner.

Choose a Database Engine

Select one of the five available engines:

  • PostgreSQL — reliable relational database, recommended for most production workloads
  • MySQL — popular open-source RDBMS
  • MariaDB — community-driven MySQL fork
  • MongoDB — document-oriented NoSQL database
  • Redis — in-memory key-value store

The button at the bottom of the form updates to show the selected engine (e.g. Create PostgreSQL).

Fill in the Database Details

FieldRequiredDefaultNotes
NameYesA label for this database in the Console (e.g. my-postgresql-db).
DescriptionNoOptional free-text description.
Database NameNoSame as NameThe actual database name created inside the engine.
UsernameNoadminThe database user Skytells creates.

A secure password is auto-generated — you do not need to set one.

Create the Database

Select Create <Engine>. Skytells provisions the database container and places it on the project's private network.

Databases are accessible internally by all apps and services in the same project via the private network — no extra configuration needed. The internal connection URL is available immediately in the database overview.

After Creation

Once the database is running, open it from Project > Databases to find:

  • Internal Credentials — password, internal host, internal port, and a ready-to-use internal connection URL.
  • External Credentials — empty by default. Set an external port here if you need internet access.

The internal connection URL is automatically available as an environment variable in your project's apps. No copy-paste required.

Connecting an App to the New Database

Find the Internal Connection URL

Open the database overview and note the Internal Connection URL and the environment variable name it is injected under (e.g. DATABASE_URL).

Open the App's Environment Settings

Open the app from Project > Apps and navigate to its Environment settings.

Confirm the Variable Is Present

Confirm the variable is present. If not, add it manually using the Internal Connection URL from the database overview.

Restart or Redeploy the App

Restart or redeploy the app so it picks up the connection at runtime.

Exposing the Database to the Internet (Optional)

By default the database is only reachable from inside the project. If you need to connect from a local machine, a database GUI client, or an external service:

Open the Database Overview

Open the database overview.

Enter an External Port

In the External Credentials section, enter an External Port — a port number not already in use by any other app or database in this project.

Save the External Settings

Select Save. The External Host field populates with the public connection string — 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.

Port conflict warning. The external port you choose must not be in use by any other app or service running in the same project. A conflicting port will prevent the database from binding correctly and may disrupt the service already using that port.

Cloudflare proxied DNS breaks database connections. If your custom domain uses Cloudflare, set the DNS record to DNS only (grey cloud), not Proxied (orange cloud). Cloudflare's proxy layer does not support raw TCP protocols used by PostgreSQL, MySQL, MariaDB, MongoDB, and Redis — a proxied record will silently drop the connection.

  • Supported Engines — engine comparison, default ports, and connection URL formats.
  • Databases Overview — credentials structure, security model, and how databases fit into a project.
  • Apps Overview — deploy apps that consume the database over the private network.
  • Enterprise Network — internal networking and service discovery.

How is this guide?

On this page