Features

Everything between git push and a live site

Chapong handles builds, previews, domains, certificates and rollbacks for static sites and Node apps, on a shared pool or on a server that is yours alone.

Git deploys & previews

Every push is a deploy

Connect a GitHub or Gitea repository. Pushes to the production branch go live; every other push and every pull request gets its own preview URL.

  • Framework detection for Vite, React, Vue, Next.js, Nuxt, Astro, Create React App, plain Node and static sites
  • Preview URL plus a commit status posted back to the pull request
  • Server apps are health-checked before traffic switches to the new version
  • Cancel a running build when a newer push supersedes it
  • Or skip git: avoca deploy uploads a folder from your machine or CI

Getting started →

build log
$ git push origin feature/pricing
→ install  npm ci
→ build    npm run build
→ preview  ready, status posted to PR #42

Domains & HTTPS

Your domain, with certificates handled

Add a domain in the dashboard, create the DNS record it shows, and HTTPS is issued automatically once DNS resolves.

  • CNAME setup for subdomains; ALIAS/ANAME or the shown record for apex domains
  • Add both apex and www and pick the primary: the other redirects to it
  • Every site also gets a default address, so it works before DNS is ready

Domain docs →

1. Add
www.example.com under your site → Domains
2. Point
CNAME to the target shown in the dashboard
3. Done
Certificate issued, HTTPS on

Env vars & secrets

Configuration per environment

Set variables once and scope them to where they belong. Secrets stay masked in the dashboard and in build logs.

  • production, preview and shared scopes
  • Mark a value as secret to mask it
  • Changes apply on the next deploy
  • A linked Da8a backend keeps its own URL and key variables current for you

Environment variable docs →

production
Production deploys only
preview
Preview and pull-request deploys
shared
Both

Rollbacks & deploy hooks

Undo in a click, rebuild on a POST

Each deploy is kept as an immutable build, so rolling back is an instant switch of the live pointer, with no rebuild. The response cache is purged on every deploy and rollback.

  • Roll back from the dashboard or with avoca rollback <id>
  • Deploy hooks: a secret URL your CMS or scheduler can POST to
  • Rotate a hook by deleting and recreating it

Rollback docs →

shell
$ avoca deployments
$ avoca rollback 8f2c41a09b

$ curl -X POST https://sites.<host>/hooks/deploy/<site>/<secret>

Protection

Keep previews private

Put a password on any deploy so only the people you share it with can see work in progress.

  • Useful for client reviews and staging
  • Works on preview URLs as well as production
  • Turn it off when you’re ready to launch
Client preview
Share the preview URL and a password
Staging
Protect a whole site until launch day

Analytics & Web Vitals

See how real visitors experience your site

Each site has traffic analytics and Core Web Vitals in the dashboard, so you can see how real visits perform.

  • Traffic analytics per site
  • Core Web Vitals from real visits
  • Shown in the site’s dashboard next to its deployments
Traffic
How many people visit, and which pages
Web Vitals
Loading, interactivity and layout stability as visitors experienced them

Da8a backend

A Supabase-compatible backend, one click away

From your site’s Storage tab, create a Da8a backend: Postgres, auth, file storage and edge functions, with the same APIs as Supabase. Chapong links it to your site and keeps the URL, public key and auth redirect URLs in sync, including for preview deploys.

  • Use the standard supabase-js client
  • Migrations, SQL, functions and secrets through the avoca CLI
  • On an own-server plan the backend can run on the same server as your sites
  • Manage it in the Da8a dashboard

Backend docs →

src/lib/db.ts
import { createClient } from '@supabase/supabase-js';

// URL + anon key of the linked Da8a backend (SUPABASE_URL / SUPABASE_ANON_KEY, mapped to VITE_ names for Vite)
export const db = createClient(
  import.meta.env.VITE_SUPABASE_URL,
  import.meta.env.VITE_SUPABASE_ANON_KEY,
);

const { data } = await db.from('posts').select('*');

CLI & API

Script it

The avoca CLI deploys from your terminal or CI, and the REST management API underneath it is yours to call too.

  • avoca deploy for previews, --prod for production
  • Upload a pre-built folder with --dir, or build the repo on the server with --git
  • List deployments and roll back
  • Bearer-token REST API for sites and deployments

CLI reference →

shell
$ avoca login
$ avoca sites list
$ avoca deploy --build --prod

Your own servers

Data sovereignty without running ops yourself

On an own-server plan your sites build and run on a dedicated server provisioned for you. No other customer’s workloads share it, and your code, builds, logs and database stay on it.

  • The server is included in the plan price
  • No noisy neighbours
  • Start on shared hosting and move over later
  • Pair it with a Da8a backend on the same machine

Own-server plans →

Shared hosting
Free and low-cost plans on a shared pool, a fine place to start
Your own server
A dedicated machine for your projects, managed by Chapong

McManus assistant

An assistant that asks before it acts

McManus, the built-in AI assistant, can explain a failed build, suggest a fix or draft a configuration change. It works approve-first: it proposes the change and nothing happens until you click Apply.

  • Proposes changes; you review and click Apply
  • Explains what it’s suggesting and why
  • Doesn’t change your site without your approval
You ask
“Why did my last deploy fail?”
McManus proposes
A change with an explanation
You decide
Apply it, or don’t

Try it on your next project.