Skip to content

What's new.

What's new in Tanzahost, newest first - every feature you can use today, on the day it was finished.

Use our nameservers

Point your domain at Tanzahost's nameservers and we set up every record for you, the ones your app needs included.

There's a new, easier way to connect a domain.

What's new

  • Use our nameservers: when you add a domain, choose Use our nameservers, then replace the domain's nameservers with the two we show, where it's registered. That proves the domain is yours, and we set up every record.

  • We notice within a minute. Visitors' networks follow within hours, a few within 2 days.

  • The other way stays: add the records yourself, and keep your DNS where it is.

  • Fast changes: a change to your records reaches our nameservers within seconds.

Read DNS.

A web firewall and a cache at the door

Every visit passes a web firewall and limits before it reaches your app, with an Under attack switch, and static files are served from a cache.

Most attacks should stop at the door, before they reach your code.

What's new

  • A web firewall in front of every app. For now it watches: it records what it would block, and blocks nothing yet, while we make sure it never stops real visitors.

  • Limits on how fast one visitor may knock, and bans for password guessers.

  • Under attack: one switch, and every visitor sees a short check in their browser first, while limits get stricter.

  • Relax a rule for your own app when it stops something legitimate. Your logs show the rule's number.

  • A cache at the door: images, CSS and JavaScript your app allows to be cached are served fast. Each deploy clears it, and so does Clear the cache.

Find it on your app's Protection and speed card. Read Protection and speed.

Live logs, a terminal and your app's numbers

Follow your app's logs live, open a terminal in the browser, see its numbers, send logs elsewhere, and get alerts.

Seeing what your app does is half of fixing it.

What's new

  • Logs, live: your app's output and its visitors' requests, as they happen. Search, filter by app and level, pick a time range, pause, and download.

  • A terminal in the browser: a command line inside your app's own space, as a normal user. Run php artisan tinker or npm run without setting up anything.

  • Numbers on every app's page: processor, memory, requests and typical response time over the last 30 minutes.

  • Send your logs elsewhere, over HTTPS or Syslog with TLS, from the project's settings.

  • Two new alerts, under the bell and by email.

Read Logs, Terminal and Metrics and alerts.

Free addresses and apps that sleep

Every app gets a free HTTPS address on tanzahost.co. Apps can sleep when nobody visits, and pay only for storage while they do.

Every app now has its own address the moment it goes live.

What's new

  • A free address for every app, like duka-7h3k.tanzahost.co, with HTTPS. Choose Rename to pick a better name. The old one stays yours for 30 days, in case you change your mind.

  • Sleep when nobody visits: after 15 minutes without visitors, an app can sleep, and the next visit wakes it. A sleeping app pays for its storage only. Keep a business website always on: search engines may meet it waking.

  • One way in: every visit reaches your app through our front door. Your app itself has no public door.

Read Sleeping apps.

A DNS editor, and moving a domain without losing email

Edit your domain's records safely, with templates, warnings, history and undo. Moving to our nameservers copies your records first.

DNS mistakes take sites and email offline. The new editor makes them hard to make.

What's new

  • The DNS tab on every project: each domain's records, with the ones your apps need locked so they can't break by accident.

  • Add and edit records, with warnings before a change that could stop your email, like removing an MX record.

  • Templates for common services, so you don't type records by hand.

  • History and undo: every change is kept, and any can be undone.

  • Seen marks: check whether the internet already sees a change.

  • Import and export a zone file.

  • Moving a domain keeps your email: before you switch to our nameservers, we copy the records we find, like MX and SPF, for you to confirm, or you upload a zone file.

Read DNS.

Custom domains with automatic SSL

Connect your own domain to a project. Its SSL certificate comes with the first visit and renews by itself.

Your app can now live at your own domain.

What's new

  • The Domains tab on every project: its domains, their state and the records to add.

  • Add a domain: add the two records we show where your domain is registered. One sends visitors here; the other proves the domain is yours, so nobody else can connect it.

  • Automatic SSL: the certificate comes with the first visit and renews by itself.

  • One main domain, and extras for free: extra domains point to the main one, and cost nothing.

  • Edit: show an app at a domain, or redirect it to another of the project's domains.

  • The free address can redirect to your main domain, so search engines see one site.

Asha connected duka.co.tz to her shop. Read How do I add my own domain?

Your account, your profile and where you're logged in

See every login to your account, log out a device you don't recognise, and set your profile and alerts.

Your dashboard now has the pages for your account and for you.

What's new

  • Security: how you log in, every browser and device where you're logged in, and Log out on any of them, or Log out everywhere.

  • Login history: every login, every try that failed, and every change to how you log in.

  • Profile: your name, phone and time zone, and which alerts reach you by email.

  • Overview and Activity: your account at a glance, and everything that happened in it, in plain words.

  • Settings: your account's name and country, and closing the account.

  • Light or dark: choose the theme from your profile menu.

If you see a device you don't know under Where you're logged in, log it out and change your password. Read more in Login security.

Passkeys, two-step login and recovery codes

Log in with a passkey, or with a password and an authenticator app's code. Recovery codes get you in if you lose your phone.

Logging in to Tanzahost is built to be hard to break into, and easy for you.

What's new

  • Passkeys: log in with your fingerprint, your face or your screen lock, on your computer or your phone. Nobody can guess one or trick you into typing it on a fake page.

  • Passwords of at least 15 characters. We check new passwords against lists of leaked ones.

  • Two-step login with an authenticator app, like Google Authenticator or 1Password: after your password, a 6-digit code.

  • Recovery codes, each good for one login if you lose your phone.

  • Sign-up with your email and a code we send you, then the last step. Nothing is stored before the code.

Turn it on in two minutes: How do I turn on two-step login?

Deploys without downtime, rollback and variables

New versions go live only when they answer their health check. Roll back in one click, keep secrets in variables, and add workers and scheduled tasks.

Deploying is now safe to do on a busy day.

What's new

  • No downtime: a new version gets visitors only once it answers its health check. If it fails, the old one keeps serving.

  • Before going live: a command that runs once per deploy, like php artisan migrate --force. If it fails, nothing changes for visitors.

  • Roll back to a recent deploy in one click. If a new version keeps crashing right after the switch, we go back by ourselves and tell you.

  • Variables: settings and secrets, encrypted and hidden until you show one. Paste a whole .env file.

  • Workers and scheduled tasks beside your app, like Laravel's queue and scheduler.

  • Laravel buttons: run migrations, storage link, clear cache, maintenance on and off.

  • Permanent folders kept across deploys, and Restart, Stop and Start.

  • A deploy address other tools can call to start a deploy.

Read Deploying.

Apps from GitHub or a ZIP, built for you

Add an app from a ZIP or a GitHub repository. We detect your framework, build it, and show every line of the build live.

Send us your code, and we work out how to build and run it.

What's new

  • Upload a ZIP: it's sent in resumable pieces, so a dropped connection carries on where it stopped.

  • GitHub: choose a repository and a branch, and build every time you push. Connecting GitHub turns on once our GitHub app is set up; until then the screen says "GitHub isn't set up yet".

  • We detect your framework: Laravel and other PHP, Node.js (Next.js, Nuxt, Express and others), Python (Django, Flask, FastAPI), static sites and more. You can correct what we found.

  • Build settings: language and version, the folder, the install, build and start commands, PHP extensions and PHP settings. Versions that no longer get security fixes are marked.

  • tanzahost.json: keep those settings in your code.

  • Limits, not sizes: set the most memory and processor time each app may use. It pays only for what it really uses.

Start with Your first deploy.

Projects, each in a location of your choice

Make a project for each website or business, in the location you choose. Each app inside it runs in its own sandbox.

A project holds everything for one website or business: its apps, and later its databases and domains.

What's new

  • Make a project with a name and a location, like UK-01 · United Kingdom. Only open locations are offered, and the location stays with the project.

  • Each project's page shows its apps with their state, and its activity.

  • Rename or delete a project. Deleting asks you to type its name, and you can keep it within 7 days if you change your mind.

  • Every app runs in its own sandbox, as a normal user, with read-only system files, its own disk and its own private network for the project. Its disk grows as it needs.

  • Pages update by themselves, so a change shows without reloading.

Asha made her project, duka, in UK-01 · United Kingdom.

Read more in Projects and locations, and how the sandbox works in Every app in its own sandbox.