nnesly

A database your application can reach, and nobody else can, one command after you ask for it.

An add-on is a backing service nesly runs for one of your projects. You attach it once; the connection details arrive as environment variables your framework already reads, and the next deploy picks them up. Your login reaches only your own database, bucket or key prefix — never another project's.

terminal
$ nesly addon add postgres --yes
Added postgres. Injected env: DATABASE_URL, ConnectionStrings__Default, DB_CONNECTION, DB_HOST, …
$ nesly addon add bucket --yes
Added bucket. Injected env: AWS_ENDPOINT_URL, AWS_BUCKET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, …
$ nesly backup list
BACKUP KIND STATUS SIZE TAKEN
bk_7f2a… postgres ready 38 MB 2026-11-11 02:14 UTC
$ nesly addon rotate postgres --yes
Rotated postgres. Updated env: DATABASE_URL, …

How it works

  1. 1

    Pick the service

    nesly addon add <type>: postgres, mysql, mssql, mongo, valkey, bucket or mail. Each gives you your own database, login or bucket on a service the platform operates.

  2. 2

    Deploy once more

    The connection values are injected as environment variables in the names your framework expects: DATABASE_URL, ConnectionStrings__Default, DB_* for Laravel, MONGODB_URI, REDIS_URL, AWS_*.

  3. 3

    Keep your data yours

    Full SQL access over the private network, nightly backups you can list, download and restore from the CLI, and addon rotate to change credentials without losing data.

What you get

PostgreSQL and MySQL

Your own database and login on a managed cluster. Framework names are derived for you: DATABASE_URL, ConnectionStrings__Default, Laravel's DB_*.

SQL Server and MongoDB

SQL Server Express (10 GB per database, with ConnectionStrings__Default) and MongoDB (MONGODB_URI). Both on Pro.

Valkey

A Redis-compatible store for cache and sessions. REDIS_URL and VALKEY_URL, your own login and key prefix; nobody can flush the shared server.

Object storage

An S3-compatible bucket with the AWS_* variables every SDK reads. Uploads leave the temporary container disk; your key reaches only your bucket.

Outgoing email

SMTP over STARTTLS through the platform relay: MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM, in the names Laravel and most frameworks read.

Backups you can touch

Nightly database backups kept 3 days on Free and 14 on Pro; nesly backup download hands you the dump, restore puts it back.

Pricing

PostgreSQL, MySQL, Valkey, object storage and outgoing email are included in Free and Pro. SQL Server and MongoDB are Pro add-ons (TRY 869 a month with VAT in Turkey, $18 without VAT elsewhere).

  • No per-database fee; the add-on is part of the plan, and backups are kept 3 days on Free, 14 on Pro.
  • Your application reaches its add-ons over the platform's private network; there is no public address and nothing to firewall.
See plans and allowances

Use cases

Laravel with the usual trio

postgres (or mysql), valkey for cache and queue, bucket for uploads: DB_*, REDIS_URL and FILESYSTEM_DISK=s3 are set so .env stays empty.

A Node or Python API

DATABASE_URL for Prisma, Drizzle, SQLAlchemy or Django, read as it is; a nightly backup in case a migration goes wrong.

Search and RAG

Store documents in a bucket, embeddings in PostgreSQL, and call an AI model from the same project; all three arrive as environment variables.

Questions, answered

Can I connect from my laptop?
Databases are reachable from your application over the private network; there is no public address to attack. For your own tools, nesly backup download gives you a dump, and one-off commands run inside the project with nesly run.
How do I move my data out?
You have full SQL access and nightly dumps you can download at any time. Nothing is in a proprietary format.
What if I change my password?
nesly addon rotate <type> issues new credentials and re-injects them; the data stays. nesly addon rm <type> deletes the add-on and its data, after confirmation.
Is MyISAM supported on MySQL?
InnoDB only. A MyISAM dump from shared hosting needs converting before import.

Related products

Attach a database to a project

nesly addon add postgres --yes and a deploy: your application reads DATABASE_URL on the next request.