zideploy
v1.2.0
Published
ZiSales Deploy Plugin - Deploy projects to PaaS servers via Claude Code
Readme
ZiDeploy
Put your app online by just talking to Claude. No DevOps knowledge needed.
ZiDeploy is a tool for vibe coders. You tell Claude what you want in plain language, and it handles everything — uploading your code, starting your app, setting up domains, configuring DNS. You don't need to know what any of that means.
What does it do?
You: "Deploy my app at /Users/me/myshop to server 1.2.3.4,
I want it at parwindoor.mysite.com"
Claude: Uploading files... done
Installing dependencies... done
Starting app... done
Setting up domain... done
✓ Your site is live at http://parwindoor.mysite.comYou talk. Claude deploys.
What do I need?
Just two things:
1. A server A VPS (Virtual Private Server) from any provider — Hetzner, DigitalOcean, Arvan, Linode, etc. The cheapest plan (~$5/month) is enough for most projects. You get a server IP address, username, and password when you sign up.
2. A domain name (optional for the first project)
A domain you've bought (e.g. mysite.com). If you don't have one yet, you can still use ZiDeploy — you'll just get a server IP address as your URL for now.
Installation
Step 1 — Install ZiDeploy
npm install -g zideployStep 2 — Connect to Claude Code
Open ~/.claude/claude.json (create it if it doesn't exist) and add:
{
"mcpServers": {
"zideploy": {
"command": "zideploy-mcp"
}
}
}Where is this file? Mac:
/Users/YOUR_NAME/.claude/claude.jsonWindows:C:\Users\YOUR_NAME\.claude\claude.json
Step 3 — Restart Claude Code
That's it. Claude can now deploy your projects.
How to use it
One-time server setup
The first time you use a new server, tell Claude to set it up:
"Set up my server at 1.2.3.4, username root, password mysecret"Claude installs everything the server needs. Takes a few minutes. You only do this once per server.
Server in Iran? Just say "my server is in Iran" — Claude will use local mirrors so everything installs fast.
One-time DNS setup (skip if you don't have a domain yet)
If you want to host multiple projects with nice URLs like parwindoor.mysite.com, tell Claude to set up DNS:
"Set up DNS on my server 1.2.3.4, my domain is mysite.com"Claude will tell you to do three things at your domain registrar (the website where you bought your domain):
1. Add glue record: ns1.mysite.com → 1.2.3.4
2. Add glue record: ns2.mysite.com → 1.2.3.4
3. Set nameservers for mysite.com to:
ns1.mysite.com
ns2.mysite.comThis is a 2-minute change at your registrar. After this, you never touch DNS again — every new project you deploy automatically gets its own subdomain.
Deploy a project
Point Claude at your project folder:
"Deploy my project at /Users/me/myshop to server 1.2.3.4"Claude will ask you one question:
What domain do you want?
❯ Subdomain on your platform — parwindoor.mysite.com
A completely separate domain — e.g. clientsite.comOption A — Subdomain (your platform domain)
Your project goes live at parwindoor.mysite.com (or whatever project name you pick). Nothing else to do.
✓ Your site is live at http://parwindoor.mysite.comOption B — Client's own domain
The client has their own domain (e.g. clientsite.com) and wants their site there. ZiDeploy sets up everything on the server automatically. You just tell your client:
Go to your domain registrar and change nameservers to:
Nameserver 1: ns1.mysite.com
Nameserver 2: ns2.mysite.com
Your site will be live at http://clientsite.com within a few hours.That's the only manual step. The client makes that one change, and their site is live.
Deploy multiple projects to the same server
Just deploy again with a different project name. Each project gets its own address:
"Deploy /Users/me/project1 to 1.2.3.4 as project shop1"
→ http://shop1.mysite.com
"Deploy /Users/me/project2 to 1.2.3.4 as project portfolio"
→ http://portfolio.mysite.com
"Deploy /Users/me/project3 to 1.2.3.4, client domain is boutique.com"
→ http://boutique.comEverything runs independently on the same server. No conflicts.
What project types work?
ZiDeploy detects your project automatically — you don't need to tell it anything:
| If your project has... | ZiDeploy treats it as |
|------------------------|----------------------|
| Dockerfile or docker-compose.yml | Docker app |
| package.json | Node.js (Next.js, Express, etc.) |
| composer.json or .php files | PHP app |
| .html files | Static website |
Example conversations with Claude
Simple deploy with subdomain
You: Deploy /Users/me/portfolio to server 1.2.3.4,
user root, password abc123, project name portfolio
Claude: ✓ Live at http://portfolio.mysite.comDeploy with client's own domain
You: Deploy /Users/me/bakerysite to 1.2.3.4,
client wants it at roses-bakery.com
Claude: ✓ Deployed. Tell client to set nameservers to
ns1.mysite.com and ns2.mysite.comMultiple projects, same server
You: I have 3 client projects to deploy to 1.2.3.4 today
Claude: Sure, let's do them one by one. What's the first project?Server in Iran
You: Set up my server at 5.6.7.8,
it's hosted in Iran, user root, password secret
Claude: ✓ Done — used Iranian mirrors for fast installationFrequently asked questions
Do I need to know Linux, SSH, or DevOps? No. You just describe what you want to Claude.
What if my app uses a port other than 3000? Tell Claude: "my app runs on port 8080" — it handles it.
Can multiple projects share one server? Yes. Unlimited projects per server, each with their own domain or subdomain.
My site isn't loading after deploying. What do I do? Just tell Claude: "my site isn't loading, can you check what's wrong?" — Claude will investigate and fix it.
How long does DNS take to work after I change nameservers? Usually 1–4 hours. Worst case 48 hours. This is a standard internet thing, not something ZiDeploy can speed up.
Do I need a domain at all? No. You can deploy without a domain and access your site by IP address. Add a domain later when you're ready.
Server requirements
- Ubuntu 18.04, 20.04, 22.04, or 24.04
- SSH access (username + password)
- Ports 22 and 80 open (most VPS providers have these open by default)
License
MIT © ZiSales
