TuployTuploy

Deploy from the dashboard

No terminal, no agents — just a browser. Drag your project as a ZIP, attach a database, hit deploy. This is the most beginner-friendly route and also the easiest one to share with a teammate who doesn't code.

For non-developers & first-timers~8 minutes

Step 0

What you need

  • A Tuploy account. Sign in at tuploy.com with Discord or Google. New accounts receive €1 of welcome credit, which covers the first deploy in full.
  • Your project as a ZIP file. Max size: 50 MB. If your project includes node_modules, .git or .next, you can leave them in — the server strips them. To stay under the size limit, exclude them before zipping.
  • A modern browser. Chromium-based browsers, Firefox and Safari all work.

Walkthrough

From sign-in to a live URL

We'll deploy the same Next.js + Prisma sample used in the other guides. The flow is identical for any framework Tuploy supports.

1

Sign in & land on the dashboard

Click Sign in and pick Discord or Google. On first sign-in Tuploy provisions your Gitea organisation and Coolify project automatically — you don't need to configure anything.

The home of the dashboard. The Deploy button lives in the left sidebar.
2

Open the Deploy wizard

In the left sidebar, click Deploy. You land on a single-page wizard that walks you through Upload → Preview → Deploy.

Upload step. Drop your ZIP anywhere on the dashed area, or click to browse.
3

Drop your ZIP

Drag the ZIP onto the wizard or click to pick it from your file picker. Tuploy uploads it (with a progress bar) and immediately starts analyzing it server-side: framework detection, database hints from package.json or prisma/, and a list of env vars it sees in .env.example.

Analyzing step. Usually completes in 3–5 seconds.
4

Review the analysis & pick a database

The Preview step shows what Tuploy found and lets you adjust before deploying:

  • App name — the subdomain becomes {name}.tuploy.app.
  • App tier — Basic, Standard, Pro or Ultra. Resize anytime later.
  • Database — if Tuploy detected a database dependency, pick an existing one from the dropdown or create a fresh one inline (PostgreSQL, MySQL, MariaDB, Redis or MongoDB).
  • Environment variables — fill the values for each detected key. Tuploy injects them into the container at runtime, overriding any .env in your ZIP.
Preview step. Tuploy auto-fills DATABASE_URL when you attach a managed database.

Database auto-injection

When you attach a managed database, the DATABASE_URL / REDIS_URL / MONGO_URL connection string is wired into the container automatically — you don't need to copy it manually.
5

Hit Deploy & watch the build

Click Deploy. The wizard streams the build log live. Most apps go from queued to live in 30–90 seconds.

Deploying step. The log shows the framework detection, install, build and container start.
6

Open your live URL

When the build finishes, the wizard reveals the live URL. Click it to open the deployed app in a new tab.

Done step. Copy the URL or share it directly — it has HTTPS out of the box.

After the first deploy

Manage your app

Every app you deploy gets its own page under Applications in the sidebar. From there you can:

  • Redeploy — upload a new ZIP to publish a new version. The subdomain, env vars and attached database carry over.
  • Edit env vars without redeploying. Changes propagate on the next restart.
  • Resize the app tier. Useful when traffic outgrows Basic.
  • Attach a custom domain (requires account level 2 — any past top-up qualifies). Point a CNAME at tuploy.com and SSL provisions automatically.
  • Delete the app when you no longer need it. Billing stops at deletion.

Billing is per minute

Apps and databases bill by the minute, not by deploy. If you stop using an app, delete it from the Applications page to stop billing. The dashboard shows daily and projected monthly costs for every resource.

Troubleshooting

When deploys fail

Upload rejected: too large

Maximum upload size is 50 MB. Exclude node_modules/, .git/, .next/, dist/ and any large media assets before zipping. The CLI excludes them automatically — if you hit this limit often, switch to the CLI flow.

Build fails on a missing env var

The build log highlights the missing key. Go back to Preview (or open the app page after the failure), set the var, and click Retry.

Plan limit reached

Your account is at its concurrent-resource cap for your level. Open Billing, top up your wallet — or delete an app you no longer need from Applications. There's no automatic overwrite for safety reasons.

What never happens by accident

The dashboard requires an explicit click to delete anything. Deploys never overwrite existing apps unless you intentionally pick an existing app name in Preview — and even then it's a clearly labelled redeploy, not a silent replace.

Where to next

Other ways to deploy