Skip to content
Docs

Projects and locations

A project holds one website or business - its apps, databases and domain - in one location. How to choose a location, and what a project keeps private.

Updated 27 Oct 20266 min read

A project holds everything for one website or business: its apps, its databases and its domain, all in one location. Asha's project duka holds her Laravel shop, its MySQL database and its Valkey queue, in UK-01 · United Kingdom, under her domain duka.co.tz.

Make a project

Projects, at the top of your home page, lists every project in your account. Choose New project, type a name, pick a location, and choose Create project. You add a domain later, on the Domains tab of the app or site it opens. Projects are free: you pay only for what the apps and databases in them use.

Until your account's first payment, it can have up to 2 projects and 3 apps. Your first payment raises that, and the limits lift step by step as you pay more, until there are none.

One location per project

A project has a home location: its new apps and databases go there, and it's charged at that location's prices. Pick the location closest to most of your visitors. The list of open locations is on Locations, and the new-project page shows which one is closest to you.

Each app, site, database or storage of a project runs in that location, close together, so a database query never crosses countries. Our team may sometimes move one of them to another server, even in another location, to make room: it keeps working with the others through our private network, at the same private names, and the project's page says where each one runs, like web, api and cache, in London · mysql, in New York.

Moving, with no interruption

When our team moves a service or a whole project to another server, it keeps serving the whole time: a copy is made on the new server and kept up to date, then visitors and its apps switch to it in a moment, with nothing to change on your side. Its page shows Moving to a new server · catching up while it happens, and your activity says afterwards: "mysql moved to a new server by our team, with no interruption."

  • You're told a day ahead only when the move changes the project's outgoing address (another location), so you can add the new one to a payment provider's or a bank's list of allowed addresses, or when it changes the price.

  • A move we choose never raises your price. If the new location costs more, the service keeps its price, and we pay the difference.

  • To move a project yourself, open its Settings and choose Move to another location. It's charged at the new location's prices, which the card shows first.

Locations are named by a short code and their country, like UK-01 · United Kingdom. We open new ones as we add room around the world.

A private network for each project

The apps and databases of one project can reach each other; nothing else can.

  • Your databases are private: reachable only from the apps of their own project, never from another project. Asha's database is at mysql.duka.internal, a name that works only inside duka. See Connect an app to a database. An own database can also take encrypted connections from your own computer, but only once you switch that on: see Connect from your own computer.

  • Your apps are reached from the internet only through their addresses, with SSL, after our web firewall and limits.

One main domain

A project has one main domain, like duka.co.tz, with any of its subdomains (shop.duka.co.tz, www.duka.co.tz), and extra domains that point to it, like duka.com. A domain belongs to one project only. Add them on the Domains tab of the app or site they open; the project's Domains tab, there once it has one, lists them all. See Add a domain.

Every app also gets a free address, like duka-7h3k.tanzahost.co, before any domain is added.

Where you are

The top bar always says where you are: your account, then the project, then the app, site or database you're on, like Asha's account / Shop / shop. Each step has a menu to switch to another account, project or service, and its name takes you one step up.

What a project opens on

A project opens on what it holds, with nothing to set:

  • One app or site (with its databases, caches and storage): it opens straight on that app or site. Asha's shop, a Laravel app with its MySQL and Valkey, opens on the app.

  • One service only, like just a MySQL: it opens on it.

  • Two or more apps or sites: it opens on a map of its services, with the apps and sites on the left, the databases, caches and storage on the right, and a line between an app and each database it uses. Click a line to pick out both ends. On a phone it's a list, with "Uses shop-db" under each app. A project of more than 12 services groups them by kind.

When you add a second app, the project starts opening on its map by itself.

What's in a project

TabWhat it holds
OverviewThe project's map of its apps, sites and databases, or its one app, site or database, with its cost this month and its activity
DeploymentsEvery deployment of its apps, newest first, to look at or roll back: with two or more apps or sites
DomainsIts main domain, extra domains and the free addresses: once it has a domain
DNSIts domain's records, when it uses our nameservers: once it has a domain
VariablesEach app's settings and secrets
LogsWhat its apps print and every visit, live: with two or more apps or sites
SettingsIts name, where it runs, sending logs elsewhere, and deleting it

With one app or site, its logs, deployments and your first domain are on its own page: Logs, All deployments, and Add a domain in its menu.

Staging and other environments

A project's staging is a copy of it, linked to it, in the same location, with its own apps, databases, variables and address. See Environments and previews.

One project or two?

Use one project whenUse separate projects when
The apps are one business: a shop, its API, its blogThey're different businesses or clients
They share a database or a domainThey need different locations
You want each one's cost apart

Delete a project

On the project's Settings, choose Delete project and type its name to confirm. Its apps stop at once. Everything in it is kept for 7 days, in case you change your mind, and then deleted for good: its apps, their files and its addresses. Choose Keep the project within those 7 days to bring it back.