Quickstart

This is the fastest path from "I just installed Tako" to "my app is live."

Local setup

Install the CLI:

curl -fsSL https://tako.sh/install.sh | sh

Verify installation:

tako --version

If you install Tako another way and use signed image optimization locally on macOS:

brew install vips

From your app directory:

  • Install the SDK (Bun example):
bun add tako.sh
  • Start local HTTPS development:
tako dev

On your first tako dev run, Tako will ask for your sudo password to set up local no-port HTTPS and custom *.test URLs. This happens once and is reused for other apps.

Open the URL shown in the terminal header. By default, Tako uses {app}.test, where {app} is your app name. The longer {app}.tako.test form is always available as a fallback.

Remote setup

Remote deploys require Tailscale. Install it on your workstation and deployment host, then connect both to the same tailnet. Use the server's Tailscale MagicDNS name, for example my-server.

From your developer machine, add the server by MagicDNS name:

tako servers add admin-user@my-server

The admin-user@host form tells Tako which admin SSH user to use if install or repair is needed. Tako stores only the MagicDNS host, uses its first label as the server name, checks Tailscale, verifies tako SSH recovery access, records target metadata, and verifies signed private management before saving the server in your global config.toml.

If tako-server is missing or access needs repair, that shorthand bootstraps the host with the provided admin user. Tako starts the service with default listener settings, enrolls the SSH key used for signed management, and installs the libvips runtime used by the image optimizer.

Check remote access:

tako servers status

Prefer installing from the host itself? Run the server installer as root, enter your workstation SSH public key when prompted, then add the host from your developer machine. The installer bootstraps the host and starts tako-server; tako servers add verifies access and saves it locally.

sudo sh -c "$(curl -fsSL https://tako.sh/install-server.sh)"

First deployment

Run the following commands from your app directory.

Initialize Tako config:

tako init

tako init prompts for app name and production route, writes them to tako.toml, offers encrypted SSL setup for wildcard routes, and updates .gitignore so .tako/secrets.json stays trackable.

tako dev uses {app}.test by default. Add [envs.development] only when you want custom local routes.

Deploy:

tako deploy

Need every config option? See the full tako.toml reference.

Need framework adapter examples? See Framework Guides.