Skip to content

Set up from the terminal

If you live in a terminal, you can set up email on your domain without touching the dashboard:

Terminal window
npx faivelo init yourcompany.com

There is nothing to install. The command signs you in, adds the domain, gets the DNS records in place (automatically where your DNS host allows it), waits until they are live, and creates your first mailbox — then hands you the credentials once.

What it does, step by step

  1. Sign in. A pairing code appears in the terminal and your browser opens faivelo.com/cli/authorize. Sign in or create a free account, check the code matches, click Approve. The terminal notices on its own. Working over SSH? Add --no-open and open the printed link from any browser; the code is the same.
  2. Checks the domain. Nameservers, who hosts the DNS, whether the domain already receives mail somewhere (it tells you before anything changes), and whether the domain is registered at all.
  3. Adds the domain to your account and generates the records.
  4. Gets the records in, choosing the easiest path your host supports:
    • Connect in your browser — Cloudflare, Vercel, Netlify, DigitalOcean, WordPress.com, Google Cloud DNS: one consent screen, no keys.
    • Approve at your host — hosts that support Domain Connect add the records for you.
    • Paste an API key — GoDaddy, Namecheap, Route 53, Hostinger, Porkbun, name.com, Gandi, IONOS and more. The terminal tells you exactly where the key page is and what format it expects.
    • By hand — full, copy-ready values shaped for your host’s form (Squarespace, Shopify and Bluehost quirks included), while the terminal keeps checking every 10 seconds.
  5. Waits for DNS. Live progress like 4/9 required records found. Stop anytime with Ctrl+C; npx faivelo status yourcompany.com picks up where you left off.
  6. Creates your first mailbox and prints the password, IMAP and SMTP settings once. Inside a project folder it offers to write SMTP_* and IMAP_* into .env (and warns if .env isn’t gitignored).

Commands

CommandWhat it does
npx faivelo init [domain]The full setup above. Safe to re-run: it resumes wherever the domain is.
npx faivelo status [domain]All your domains, or one domain’s DNS checked live.
npx faivelo dns <domain>The records to add, with full values. --table for a compact view, --zone for a BIND zone file you can import.
npx faivelo login / logout / whoamiManage the sign-in saved on this computer.

Options

  • --no-open — never launch a browser, only print links (SSH sessions, containers, CI).
  • FAIVELO_TOKEN — skip the browser sign-in entirely by supplying a session token (scripts and CI).

Where things are stored

The sign-in is saved to ~/.config/faivelo/credentials.json (%APPDATA%\faivelo on Windows), readable only by your user. npx faivelo logout removes it. Mailbox passwords are never stored by the CLI — they are shown once, and optionally written to your project’s .env when you say yes.