# Tako > Tako is a self-hosted app deployment and development platform for local HTTPS development, production deploys, routing, TLS, logs, secrets, and framework-aware defaults. Prefer the Quickstart when the goal is to get an app running quickly. Use the CLI reference and tako.toml reference for exact command and configuration details. Use Framework Guides and Presets for framework-specific setup. ## Start Here - [Homepage](https://tako.sh/): Product overview and the shortest path to the docs. - [Quickstart](https://tako.sh/docs/quickstart/): Fastest path from install to local HTTPS development and first deploy. - [Docs Intro](https://tako.sh/docs/): High-level introduction to what Tako does well and who it is for. ## Core Docs - [How Tako Works](https://tako.sh/docs/how-tako-works/): Architecture, request flow, rolling deploys, TLS, health checks, and scaling. - [Development](https://tako.sh/docs/development/): Local development workflow, HTTPS, DNS, routes, and dev behavior. - [Deployment](https://tako.sh/docs/deployment/): Server setup, deploy flow, scaling, secrets, and production operations. - [Channels](https://tako.sh/docs/channels/): Durable SSE and WebSocket streams, auth, replay, and browser clients. - [Workflows](https://tako.sh/docs/workflows/): Durable runs, checkpoints, retries, signals, schedules, and workers. ## Reference - [CLI Reference](https://tako.sh/docs/cli/): Commands, flags, output modes, and examples. - [tako.toml Reference](https://tako.sh/docs/tako-toml/): Complete app configuration reference for routes, builds, secrets, and scaling. - [Presets](https://tako.sh/docs/presets/): Framework preset behavior and how presets merge with runtime defaults. - [Framework Guides](https://tako.sh/docs/framework-guides/): Framework-specific adapter examples for Next.js, Vite, TanStack Start, and fetch handlers. ## Project Links - [GitHub Repository](https://github.com/tako-sh/tako): Source code, examples, and repository docs. - [JavaScript SDK on npm](https://www.npmjs.com/package/tako.sh): Package entry for the tako.sh JavaScript and TypeScript SDK. - [Agent Skills](https://tako.sh/skills.md): Markdown index of task-specific Tako skills for agents. ## Optional - [The Open Source ngrok Alternative for Local HTTPS Dev Tunnels](https://tako.sh/blog/open-source-ngrok-alternative-local-https-dev-tunnels/): Use tako dev --tunnel for public HTTPS dev URLs with stable hostnames, signed identity, reconnects, and no separate tunnel daemon. - [Tako vs CapRover for VPS Apps](https://tako.sh/blog/tako-vs-caprover-vps-apps/): Compare CapRover's open-source dashboard PaaS with Tako's CLI-first VPS platform: deploys, HTTPS, secrets, workflows, and containers. - [How to Deploy a Dockerfile to a VPS with Tako Container Releases](https://tako.sh/blog/how-to-deploy-a-dockerfile-to-a-vps-with-tako-container-releases/): Use container = "Dockerfile" to ship Dockerfile-shaped apps to a VPS while Tako keeps routing, TLS, secrets, logs, and rolling updates. - [The Open Source AWS Elastic Beanstalk Alternative for VPS Apps](https://tako.sh/blog/open-source-aws-elastic-beanstalk-alternative-vps-apps/): Compare AWS Elastic Beanstalk with Tako: app environments, rolling deploys, TLS, logs, scale, and signed VPS management. - [How to Build Durable Workflows for Bun and Node.js Apps](https://tako.sh/blog/how-to-build-durable-workflows-for-bun-and-nodejs-apps/): Build durable Bun and Node.js workflows with Tako: typed enqueue, retries, step checkpoints, waits, signals, cron, and scale-to-zero workers. - [How to Put Cloudflare in Front of a VPS App Without Losing Client IPs](https://tako.sh/blog/how-to-put-cloudflare-in-front-of-a-vps-app-without-losing-client-ips/): Use Cloudflare in front of a Tako VPS app while preserving real visitor IPs for logs, rate limits, redirects, and upstream headers. - [Self-Hosted WebSockets and Workflows Across Multiple VPS Servers with Postgres](https://tako.sh/blog/self-hosted-websockets-workflows-multiple-vps-postgres/): Use postgres_url to share Tako channel replay and workflow state across multiple VPS servers instead of per-server SQLite. - [How to Run a Full-Stack Next.js App on One $5 VPS: HTTPS, Jobs, WebSockets, and Images](https://tako.sh/blog/full-stack-nextjs-app-one-5-vps-https-jobs-websockets-images/): Deploy a full-stack Next.js app to one cheap VPS with Tako: HTTPS, rolling deploys, workflows, WebSocket/SSE channels, and image optimization. - [How Much Traffic Can a $5 VPS Handle for Next.js, APIs, and Static Assets?](https://tako.sh/blog/how-much-traffic-can-a-5-vps-handle-nextjs-apis-static-assets/): Use Tako's public proxy benchmark to build a practical traffic budget for Next.js pages, API routes, static files, and images on a small VPS. - [Tako vs Envoy, Caddy, HAProxy, and Nginx: HTTPS Proxy Benchmarks on a Small VPS](https://tako.sh/blog/tako-vs-envoy-caddy-haproxy-nginx-https-proxy-benchmarks/): Raw HTTPS proxy benchmarks for Tako, nginx, HAProxy, Envoy, and Caddy on one small 2 vCPU VPS. - [Back Up Tako Apps to S3-Compatible Storage](https://tako.sh/blog/back-up-tako-apps-to-s3-compatible-storage/): Configure Tako backups with private S3-compatible storage, encrypted archives, manual restores, and deploy-time snapshots for app data. - [Cloudflare Origin CA vs Let’s Encrypt for Self-Hosted HTTPS on a VPS](https://tako.sh/blog/cloudflare-origin-ca-vs-lets-encrypt-vps-https/): Compare Let’s Encrypt HTTP-01, Cloudflare DNS-01 wildcard certificates, and Cloudflare Origin CA for proxied Tako apps. - [Pingora Proxy Manager: Why Tako Is More Than a Reverse Proxy Dashboard](https://tako.sh/blog/pingora-proxy-manager-tako-reverse-proxy-dashboard/): A Pingora proxy manager handles routes. Tako coordinates deploys, TLS, readiness, process state, and scale-to-zero in one app control plane. - [What Is Pingora? The Rust Proxy Framework Behind Cloudflare and Tako](https://tako.sh/blog/what-is-pingora-rust-proxy-framework/): A plain-language guide to Pingora, Cloudflare's Rust proxy framework, and why Tako uses it to build programmable VPS app routing. - [Caddy vs Traefik vs Nginx for VPS App Deployment](https://tako.sh/blog/caddy-vs-traefik-vs-nginx-vps-app-deployment/): Compare Caddy, Traefik, and Nginx for VPS app deployment, then see why Tako folds proxying, TLS, deploys, and process state together. - [Cloudflare Pingora Architecture Diagram: How Tako Routes Requests, TLS, and Cold Starts](https://tako.sh/blog/cloudflare-pingora-architecture-diagram/): A request-path diagram of Tako's Pingora proxy: SNI, route matching, static assets, cold starts, load balancing, and upstream proxying. - [Animated GIF Optimization with WebP in Tako](https://tako.sh/blog/animated-gif-optimization-with-webp-in-tako/): Tako now preserves animation while resizing and cropping GIF and WebP sources through its built-in image optimizer. - [How to Host Wildcard Subdomains with Automatic HTTPS on a VPS](https://tako.sh/blog/how-to-host-wildcard-subdomains-with-automatic-https-on-a-vps/): Run tenant-style wildcard subdomains on a VPS with Tako routes, Cloudflare DNS-01 credentials, DNS-only records, and automatic HTTPS. - [Self-Hosted Next.js Image Optimization on a VPS](https://tako.sh/blog/self-hosted-nextjs-image-optimization-vps/): Use next/image with Tako's self-hosted optimizer on a VPS: custom loader wiring, remote allowlists, WebP output, caches, and fallbacks. - [Image Optimization for TanStack Start Apps on a VPS](https://tako.sh/blog/image-optimization-for-tanstack-start-apps/): Optimize TanStack Start images on a VPS with Tako's public image endpoint, responsive srcsets, remote allowlists, and WebP output. - [The Open Source Cloudinary Alternative for Signed Image Resizing on a VPS](https://tako.sh/blog/open-source-cloudinary-alternative-signed-image-resizing-vps/): Compare Cloudinary-style image transforms with Tako's self-hosted signed URLs, WebP/AVIF output, and app-owned cache policy. - [A Sidekiq Alternative for TypeScript Background Jobs](https://tako.sh/blog/sidekiq-alternative-typescript-background-jobs/): Compare Sidekiq-style Redis queues with Tako workflows for durable TypeScript jobs, retries, checkpoints, and scale-to-zero workers. - [Tako Images: Built-In Image Service for Self-Hosted Apps](https://tako.sh/blog/tako-images-built-in-image-service/): Tako Images turns app-owned images into secure, optimized responses with resizing, smart crops, output formats, and cache rules built in. - [Self-Hosted Cron Jobs in TypeScript Without Redis](https://tako.sh/blog/self-hosted-cron-jobs-in-typescript-without-redis/): Build durable TypeScript cron jobs with Tako workflows: scheduled runs, retries, dedupe, step checkpoints, and workers that scale to zero. - [How to Host Multiple Apps on One VPS with Automatic HTTPS](https://tako.sh/blog/how-to-host-multiple-apps-on-one-vps-with-automatic-https/): Run several apps on one VPS with Tako routes, SNI certificate selection, static assets, and automatic HTTPS for every domain. - [Self-Hosted Deployments over Tailscale: Signed Remote Management for VPS Apps](https://tako.sh/blog/self-hosted-deployments-over-tailscale/): Tako keeps server management on private Tailscale HTTP and signs mutating RPCs with the SSH keys you already use for recovery. - [Encrypted App Secrets in Git, Keys in iCloud](https://tako.sh/blog/self-hosted-app-secrets-icloud-sync/): Tako lets you commit encrypted app secrets to git while decryption keys stay local, sync through iCloud Keychain, or move by export/import. - [The Open Source Vercel Alternative for Next.js Apps on a VPS](https://tako.sh/blog/open-source-vercel-alternative-nextjs-vps/): Compare Vercel's hosted Next.js path with Tako's open-source VPS path: standalone output, one adapter, owned servers, and rolling deploys. - [How to Deploy a Vite SSR App to a VPS Without Docker](https://tako.sh/blog/how-to-deploy-a-vite-ssr-app-to-a-vps-without-docker/): Build a Vite React SSR app, wrap the server bundle with tako.sh/vite, ship dist/client assets, and deploy to a VPS as a native process. - [How to Use Cloudflare Tunnel with Vite Local HTTPS Dev](https://tako.sh/blog/cloudflare-tunnel-vite-local-https-dev/): Expose a Vite app from tako dev through a stable Cloudflare Tunnel hostname without opening Vite's allowedHosts to the world. - [The Open Source AWS Lambda Alternative for HTTP APIs on a VPS](https://tako.sh/blog/open-source-aws-lambda-alternative-http-apis-vps/): Compare AWS Lambda HTTP APIs with Tako: fetch handlers, native processes, scale-to-zero, and owned VPS pricing. - [How to Deploy a Go Gin, Echo, or Chi App to a VPS Without Docker](https://tako.sh/blog/how-to-deploy-a-go-gin-echo-or-chi-app-to-a-vps-without-docker/): A concrete Go walkthrough: pass Gin, Echo, or Chi to tako.ListenAndServe, then deploy a native binary to a VPS without Docker. - [How to Deploy a Bun Hono App to a VPS Without Docker](https://tako.sh/blog/how-to-deploy-a-bun-hono-app-to-a-vps-without-docker/): A literal Bun + Hono walkthrough: export app.fetch, run tako init, and ship to a VPS with HTTPS and rolling deploys. No Dockerfile required. - [Typed WebSocket Channels in TypeScript: Params, Auth, and Live Pub/Sub](https://tako.sh/blog/typed-websocket-channels-in-typescript/): Tako channels turn TypeBox params, auth, typed publish payloads, and browser WebSocket/SSE wiring into one TypeScript realtime model. - [How to Deploy Next.js to a VPS Without Docker](https://tako.sh/blog/how-to-deploy-nextjs-to-a-vps-without-docker/): A literal walkthrough — provision a $5 VPS, point a domain, and ship a Next.js app to it with tako init + tako deploy. HTTPS and zero-downtime rollouts, no Dockerfile in sight. - [The Open Source Heroku Alternative for 2026](https://tako.sh/blog/open-source-heroku-alternative-for-2026/): Heroku-shaped DX — one CLI, release commands, review apps, scale-to-zero — on hardware you own. A 2026 tour of the open-source alternatives, and where Tako fits. - [Deploy TanStack Start to a VPS in Five Minutes](https://tako.sh/blog/deploy-tanstack-start-to-a-vps-in-five-minutes/): A concrete walkthrough: scaffold a TanStack Start app, run tako init and tako deploy, and watch the SSR bundle boot natively on Bun behind Pingora — no Docker, no edge platform. - [Named Worker Groups for Tako Workflows](https://tako.sh/blog/named-worker-groups-for-tako-workflows/): The Tako SDK and config schema model named workflow groups, but production worker isolation is not wired yet. - [A Self-Hosted Pusher and Ably Alternative: Tako Channels](https://tako.sh/blog/self-hosted-pusher-alternative/): Pusher charges per connection, Ably per minute. Tako Channels puts durable WebSocket and SSE communication into your own server. - [The Open Source Cloudflare Workers Alternative: Tako on Your Own VPS](https://tako.sh/blog/open-source-cloudflare-workers-alternative/): Same fetch handler model, same scale-to-zero feel — without V8 isolate constraints or per-request billing. Tako on your own VPS, with Cloudflare optional in front. - [The Release Command: Database Migrations During tako deploy](https://tako.sh/blog/the-release-command-database-migrations-during-deploy/): Tako now runs a one-shot release command on the leader server before the rolling update — the missing primitive for Prisma, Drizzle, and Rails migrations against a shared database. - [Next.js instrumentation.ts meets initServerRuntime](https://tako.sh/blog/tako-workflows-in-nextjs-via-instrumentation/): Drop a five-line instrumentation.ts into your Next.js app and Tako workflows, signals, and channel publishes light up inside routes and server actions — no ambient globals, no bootstrap glue. - [Tako vs PM2 + Nginx](https://tako.sh/blog/tako-vs-pm2-and-nginx/): PM2 + Nginx is the quiet default for self-hosted Node — a stack of four tools glued together with shell scripts. Tako collapses it into one CLI. - [Pause a Workflow Until a Human Clicks Approve](https://tako.sh/blog/pause-a-workflow-until-a-human-clicks-approve/): A walkthrough of ctx.waitFor + signal — an order-fulfillment workflow that parks for days waiting on admin approval, then resumes exactly where it left off. - [Tako vs Temporal](https://tako.sh/blog/tako-vs-temporal/): Temporal defined the durable-workflow model for a generation of backends. Tako borrows the shape but runs it embedded in the per-app server — no cluster, no Cassandra, no Elasticsearch. - [Workflow Workers That Scale to Zero, Then Fail Loudly](https://tako.sh/blog/workflow-workers-scale-to-zero/): Tako's workflow workers spawn on enqueue, exit when idle, and mark the app unhealthy on non-zero exit before claim — so broken imports surface immediately instead of silently queuing. - [tako generate and the generated tako.d.ts](https://tako.sh/blog/tako-generate-and-the-generated-tako-d-ts/): Tako generates a project-local tako.d.ts that types the tako runtime object from tako.sh — no app global, no silent typos. - [Secure Code Execution for AI Agents](https://tako.sh/blog/secure-code-execution-for-ai-agents/): AI agents that run code need two security layers: a V8 sandbox for untrusted execution, and secure secret injection so credentials stay out of the isolate. - [Tako vs Inngest and Trigger.dev](https://tako.sh/blog/tako-vs-inngest-and-trigger/): Inngest and Trigger.dev gave JavaScript a durable-step model worth copying. Tako ships the same primitives embedded in the server that already runs your app — no separate queue service, no per-run bill. - [Durable Workflows Are Here](https://tako.sh/blog/durable-workflows-are-here/): Tako now ships a durable workflow engine — step checkpoints, retries, cron, sleep for days, and signal/waitFor — on your own VPS, no external queue service. - [Stateful Apps on Tako: SQLite and Uploads That Survive Deploys](https://tako.sh/blog/stateful-apps-sqlite-uploads-tako-data-dir/): Tako gives each app persistent storage for SQLite databases, uploads, and queue data, so rolling deploys do not wipe local state. - [Tako vs Render, Railway, and Vercel: Bringing the Managed-PaaS Feel to Your Own Boxes](https://tako.sh/blog/tako-vs-render-railway-vercel/): Render, Railway, and Vercel made deploying feel easy. Tako brings that same experience to the VPS you already own — same CLI flow, same scale-to-zero, without the platform bill. - [The Dev Daemon: Why tako dev Is Just a Client](https://tako.sh/blog/the-dev-daemon-tako-dev-is-just-a-client/): tako dev isn't a watcher script — it's a thin viewer attached to a persistent daemon that owns app processes, logs, routing, and TLS. - [LAN Mode: Hand Your App to a Phone in Three Seconds](https://tako.sh/blog/lan-mode-hand-your-app-to-a-phone/): Press l in tako dev and your app is reachable from any phone or tablet on your Wi-Fi as myapp.local — real HTTPS, no ngrok, no port forwarding. - [Durable Channels, Built In](https://tako.sh/blog/durable-channels-built-in/): Tako ships durable WebSocket and SSE channels with bounded replay, reconnection, and per-channel auth — no Pusher, no Redis, no sidecars. - [What Happens When You Run tako deploy](https://tako.sh/blog/what-happens-when-you-run-tako-deploy/): The full sequence from command to live traffic — build, upload, swap, drain — in about 10 seconds. - [The Go SDK Is Here](https://tako.sh/blog/the-go-sdk-is-here/): Tako's Go SDK wraps any http.Handler — Gin, Echo, Chi, or plain net/http — with health checks, secrets, and graceful shutdown in one line. - [Tako vs Sidekick](https://tako.sh/blog/tako-vs-sidekick/): Sidekick turns a VPS into a Docker-powered mini-PaaS. Tako skips Docker entirely. Here's how the two CLI deploy tools compare. - [Tako vs Fly.io: The Self-Hosted Edge](https://tako.sh/blog/tako-vs-fly/): Fly.io gives you a beautiful CLI and 30+ regions on their hardware. Tako gives you the same feel on your own boxes. An honest comparison of two takes on the edge. - [Build a Distributed Web App with Tako and CockroachDB](https://tako.sh/blog/build-a-distributed-web-app-with-tako-and-cockroachdb/): Three VPS boxes, Tako for the app layer, CockroachDB for the data layer — a fully distributed stack running on hardware you own, with no managed plan underneath. - [Multi-Stage Builds for Monorepos](https://tako.sh/blog/multi-stage-builds-for-monorepos/): How Tako's build stages let you deploy monorepo apps with shared packages — no Docker, no CI pipeline, just TOML. - [Build Your Own Edge Network on Commodity Hardware](https://tako.sh/blog/build-your-own-edge-network-on-commodity-hardware/): Three $5 VPS boxes in different regions, one tako.toml, and Cloudflare geo-steering. Your own global edge network on hardware you own. - [Zero-Downtime Deploys Without a Container in Sight](https://tako.sh/blog/zero-downtime-deploys-without-a-container-in-sight/): How Tako rolls out new versions with connection draining, health-checked readiness, and automatic rollback — all with native processes. - [Your $5 VPS Is More Powerful Than You Think](https://tako.sh/blog/your-5-dollar-vps-is-more-powerful-than-you-think/): A $5 Hetzner box gives you 2 vCPUs, 4 GB RAM, and 20 TB bandwidth. Here's what cloud platforms charge for the same resources — and how Tako bridges the gap. - [The Fetch Handler Pattern: One Function, Every Runtime](https://tako.sh/blog/the-fetch-handler-pattern/): Why Tako chose the web-standard fetch handler as its universal app interface — and how the same export runs on Bun and Node. - [Secrets Without .env Files](https://tako.sh/blog/secrets-without-env-files/): How Tako encrypts secrets at rest, injects them via fd 3 at runtime, and generates typed accessors — so plaintext never touches disk. - [Tako vs Coolify: Dashboard vs CLI](https://tako.sh/blog/tako-vs-coolify/): Coolify gives you a full web UI and manages everything in Docker. Tako gives you a CLI, native processes, and a Pingora proxy. Different tools for different people. - [One Config, Many Servers](https://tako.sh/blog/one-config-many-servers/): One tako.toml, two environments, three servers across regions — how Tako takes a side project all the way to a real production setup. - [Scale-to-Zero Without Containers](https://tako.sh/blog/scale-to-zero-without-containers/): How Tako scales apps to zero and cold-starts them on demand — without Docker, containers, or a cloud platform. - [Tako vs Kamal](https://tako.sh/blog/tako-vs-kamal/): How Tako and Kamal approach self-hosted deployment differently — Docker vs native processes, registries vs SFTP, and what each gets right. - [Tako vs Dokku: Two Philosophies for Self-Hosted Deployment](https://tako.sh/blog/tako-vs-dokku/): Dokku wraps everything in Docker. Tako runs your app directly. Here's how the two approaches compare — and when each one makes sense. - [Local Dev with Real HTTPS, Real DNS, and Zero Config](https://tako.sh/blog/local-dev-with-real-https/): Stop fighting localhost:3000 and self-signed cert warnings. Tako dev gives you real HTTPS, real domains, and a local proxy — automatically. - [Pingora vs Caddy vs Traefik: Why We Built on Cloudflare's Proxy](https://tako.sh/blog/pingora-vs-caddy-vs-traefik/): How we chose Pingora over Caddy and Traefik for Tako's proxy layer — and what it means for performance, memory, and architecture. - [Why Tako Ships an SDK](https://tako.sh/blog/why-tako-ships-an-sdk/): Most deploy tools stop at infrastructure. Tako's SDK gives your app readiness signaling, secret injection, and runtime abstraction — here's why. - [Why We Don't Default to Docker (and When You Should Still Use It)](https://tako.sh/blog/why-we-dont-default-to-docker/): Why we skip the Docker rebuild loop — and when containers still make sense. - [Hello, world](https://tako.sh/blog/hello-world/): Tako is live — a complete platform for running apps on your own servers. Deployment, routing, TLS, secrets, and local dev in a single tool.