zideploy 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -79
- package/dist/index.js +2 -2
- package/dist/mcp-server.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,36 +1,57 @@
|
|
|
1
1
|
# ZiDeploy
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Put your app online by just talking to Claude.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
You built something. Now you want it live on the internet. ZiDeploy lets you do that by having a normal conversation with Claude Code — no terminal commands, no config files, no DevOps knowledge needed.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## What does it do?
|
|
10
|
+
|
|
11
|
+
You talk. Claude does the work.
|
|
10
12
|
|
|
11
13
|
```
|
|
12
|
-
You:
|
|
14
|
+
You: "Deploy my app at /Users/me/myshop to server 1.2.3.4"
|
|
13
15
|
|
|
14
|
-
Claude
|
|
16
|
+
Claude: Detected Node.js project.
|
|
17
|
+
Uploading files... done.
|
|
18
|
+
Installing dependencies... done.
|
|
19
|
+
Starting your app... done.
|
|
20
|
+
Setting up your website address... done.
|
|
15
21
|
|
|
16
|
-
|
|
22
|
+
Your site is live at:
|
|
23
|
+
http://myshop.zisites.app
|
|
17
24
|
```
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
That's it. No commands. No YAML. No googling "how to configure Nginx."
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## What do you need before starting?
|
|
31
|
+
|
|
32
|
+
Just two things:
|
|
33
|
+
|
|
34
|
+
1. **A server** — a VPS (virtual private server) from any provider: Hetzner, DigitalOcean, Linode, Arvan, etc. Any Ubuntu server works. The cheapest plan ($4–6/month) is fine for most projects.
|
|
35
|
+
|
|
36
|
+
2. **Your server's IP address, username, and password** — you get these from your VPS provider when you create the server.
|
|
37
|
+
|
|
38
|
+
That's all. ZiDeploy handles everything else.
|
|
20
39
|
|
|
21
40
|
---
|
|
22
41
|
|
|
23
42
|
## Installation
|
|
24
43
|
|
|
25
|
-
### 1
|
|
44
|
+
### Step 1 — Install ZiDeploy
|
|
45
|
+
|
|
46
|
+
Open a terminal and run:
|
|
26
47
|
|
|
27
48
|
```bash
|
|
28
49
|
npm install -g zideploy
|
|
29
50
|
```
|
|
30
51
|
|
|
31
|
-
### 2
|
|
52
|
+
### Step 2 — Connect it to Claude Code
|
|
32
53
|
|
|
33
|
-
|
|
54
|
+
Create or open the file `~/.claude/claude.json` and add this:
|
|
34
55
|
|
|
35
56
|
```json
|
|
36
57
|
{
|
|
@@ -42,125 +63,152 @@ Add to `~/.claude/claude.json`:
|
|
|
42
63
|
}
|
|
43
64
|
```
|
|
44
65
|
|
|
45
|
-
|
|
66
|
+
> **Don't know where `~/.claude/claude.json` is?**
|
|
67
|
+
> On Mac it's at `/Users/YOUR_NAME/.claude/claude.json`.
|
|
68
|
+
> Create the file if it doesn't exist yet — just copy the JSON above into it.
|
|
46
69
|
|
|
47
|
-
|
|
70
|
+
### Step 3 — Restart Claude Code
|
|
71
|
+
|
|
72
|
+
Close and reopen Claude Code. Done. Claude now knows how to deploy your projects.
|
|
48
73
|
|
|
49
74
|
---
|
|
50
75
|
|
|
51
|
-
##
|
|
76
|
+
## How to use it
|
|
52
77
|
|
|
53
|
-
###
|
|
78
|
+
### Prepare your server (first time only)
|
|
54
79
|
|
|
55
|
-
|
|
80
|
+
The first time you use a new server, tell Claude to set it up:
|
|
56
81
|
|
|
57
82
|
```
|
|
58
|
-
"
|
|
59
|
-
"Set up a PHP server at 5.6.7.8, it's in Iran so use local mirrors"
|
|
83
|
+
"Set up my server at 1.2.3.4, the username is root and password is mysecretpass"
|
|
60
84
|
```
|
|
61
85
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
| Component | What gets installed |
|
|
65
|
-
|-----------|-------------------|
|
|
66
|
-
| `docker` | Docker CE + Docker Compose |
|
|
67
|
-
| `nginx` | Nginx (enabled & started) |
|
|
68
|
-
| `nodejs` | Node.js 20 LTS + PM2 |
|
|
69
|
-
| `php` | PHP + PHP-FPM + common extensions |
|
|
86
|
+
Claude will install everything your server needs. This takes a few minutes and you only do it once per server.
|
|
70
87
|
|
|
71
|
-
|
|
88
|
+
> **Server in Iran?** Just say "my server is in Iran" and Claude will automatically use local mirrors so everything downloads fast.
|
|
72
89
|
|
|
73
90
|
---
|
|
74
91
|
|
|
75
|
-
### Deploy
|
|
92
|
+
### Deploy your project
|
|
76
93
|
|
|
77
|
-
|
|
94
|
+
Point Claude at your project folder and your server:
|
|
78
95
|
|
|
79
96
|
```
|
|
80
|
-
"Deploy /Users/me/
|
|
81
|
-
"Deploy my app with custom domain example.com and port 8080"
|
|
97
|
+
"Deploy my project at /Users/me/myshop to server 1.2.3.4"
|
|
82
98
|
```
|
|
83
99
|
|
|
84
|
-
|
|
100
|
+
Claude will ask you one question:
|
|
85
101
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
| `Dockerfile` / `docker-compose.yml` | Docker | `docker build` + `docker run` or `docker compose up` |
|
|
89
|
-
| `package.json` | Node.js | Files uploaded, `npm install`, started with PM2 |
|
|
90
|
-
| `composer.json` / `.php` files | PHP | Files uploaded, PHP-FPM configured |
|
|
91
|
-
| `.html` / `.htm` files | Static | Files served directly by Nginx |
|
|
102
|
+
```
|
|
103
|
+
What domain do you want?
|
|
92
104
|
|
|
93
|
-
|
|
105
|
+
❯ Free subdomain — myshop.zisites.app (ready in seconds)
|
|
106
|
+
My own domain — e.g. myshop.com
|
|
107
|
+
```
|
|
94
108
|
|
|
95
|
-
|
|
109
|
+
**Choose the free subdomain** if you just want to get online quickly. Your site will be live at `yourproject.zisites.app` within minutes.
|
|
96
110
|
|
|
97
|
-
|
|
111
|
+
**Choose your own domain** if you already bought a domain (like `myshop.com`). ZiDeploy sets everything up and then tells you exactly what to do at your domain registrar — one simple change.
|
|
98
112
|
|
|
99
|
-
|
|
113
|
+
#### If you chose your own domain
|
|
114
|
+
|
|
115
|
+
After deploying, Claude will tell you something like:
|
|
100
116
|
|
|
101
117
|
```
|
|
102
|
-
|
|
103
|
-
|
|
118
|
+
Your site is ready!
|
|
119
|
+
|
|
120
|
+
ACTION REQUIRED — go to your domain registrar (where you bought myshop.com)
|
|
121
|
+
and change the nameservers to:
|
|
122
|
+
|
|
123
|
+
Nameserver 1: ns1.zisites.com
|
|
124
|
+
Nameserver 2: ns2.zisites.com
|
|
125
|
+
|
|
126
|
+
Your site will appear at http://myshop.com within a few hours.
|
|
127
|
+
(DNS changes can take up to 48 hours worldwide — this is normal.)
|
|
104
128
|
```
|
|
105
129
|
|
|
130
|
+
You log in to wherever you bought your domain, find "Nameservers" in the settings, and paste those two values. That's the only thing you do manually.
|
|
131
|
+
|
|
106
132
|
---
|
|
107
133
|
|
|
108
|
-
|
|
134
|
+
### What types of projects work?
|
|
109
135
|
|
|
110
|
-
ZiDeploy
|
|
136
|
+
ZiDeploy figures out your project type automatically — you don't need to tell it anything:
|
|
111
137
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
138
|
+
| Your project has... | ZiDeploy treats it as... |
|
|
139
|
+
|---------------------|--------------------------|
|
|
140
|
+
| A `Dockerfile` or `docker-compose.yml` | Docker app |
|
|
141
|
+
| A `package.json` | Node.js app (Next.js, Express, etc.) |
|
|
142
|
+
| A `composer.json` or `.php` files | PHP app |
|
|
143
|
+
| `.html` files | Static website |
|
|
144
|
+
|
|
145
|
+
---
|
|
115
146
|
|
|
116
|
-
|
|
117
|
-
zideploy deploy \
|
|
118
|
-
--host 1.2.3.4 --user root --password secret \
|
|
119
|
-
--project mysite --domain example.com \
|
|
120
|
-
--path /Users/me/myapp --app-port 3000
|
|
147
|
+
## Example conversations
|
|
121
148
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
149
|
+
#### Deploy a Next.js app with a free subdomain
|
|
150
|
+
```
|
|
151
|
+
You: Deploy /Users/me/portfolio to 1.2.3.4, user root, password abc123, project name portfolio
|
|
152
|
+
Claude: [deploys] → Your site is live at http://portfolio.zisites.app
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### Deploy with a custom domain
|
|
156
|
+
```
|
|
157
|
+
You: Deploy /Users/me/myshop to 1.2.3.4, I want to use myshop.com as the domain
|
|
158
|
+
Claude: [deploys] → Change nameservers to ns1.zisites.com / ns2.zisites.com
|
|
126
159
|
```
|
|
127
160
|
|
|
128
|
-
|
|
161
|
+
#### Add a domain to an already-running project
|
|
162
|
+
```
|
|
163
|
+
You: Add the domain myapi.com to the myapi project running on port 4000 on server 1.2.3.4
|
|
164
|
+
Claude: [configures] → Change nameservers to ns1.zisites.com / ns2.zisites.com
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### Server in Iran
|
|
168
|
+
```
|
|
169
|
+
You: Set up my server at 5.6.7.8, it's hosted in Iran
|
|
170
|
+
Claude: [installs everything using Iranian mirrors — fast, no timeouts]
|
|
171
|
+
```
|
|
129
172
|
|
|
130
173
|
---
|
|
131
174
|
|
|
132
|
-
##
|
|
175
|
+
## One-time DNS server setup (for custom domains)
|
|
133
176
|
|
|
134
|
-
|
|
135
|
-
- SSH access (root or sudo user)
|
|
136
|
-
- Port 22 open
|
|
177
|
+
If you want to use custom domains, run this once on your server:
|
|
137
178
|
|
|
138
|
-
|
|
179
|
+
```
|
|
180
|
+
"Set up the DNS server on 1.2.3.4, user root, password mysecret"
|
|
181
|
+
```
|
|
139
182
|
|
|
140
|
-
|
|
183
|
+
After that, every time you deploy a project with a custom domain, ZiDeploy automatically registers it. You just change the nameservers at your registrar — Claude tells you exactly what to paste.
|
|
141
184
|
|
|
142
|
-
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Server requirements
|
|
143
188
|
|
|
144
|
-
- Ubuntu
|
|
145
|
-
-
|
|
146
|
-
- npm registry → `mirror2.chabokan.net/npm`
|
|
189
|
+
- Any Ubuntu server (18.04, 20.04, 22.04, or 24.04)
|
|
190
|
+
- You can SSH into it (you have the IP, username, and password)
|
|
147
191
|
|
|
148
|
-
|
|
192
|
+
Ports that need to be open: **22** (for ZiDeploy to connect), **80** (for your website)
|
|
149
193
|
|
|
150
194
|
---
|
|
151
195
|
|
|
152
|
-
##
|
|
196
|
+
## Frequently asked questions
|
|
153
197
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
198
|
+
**Do I need to know Linux or the command line?**
|
|
199
|
+
No. You just talk to Claude.
|
|
200
|
+
|
|
201
|
+
**What if my project uses a different port than 3000?**
|
|
202
|
+
Tell Claude: "my app runs on port 8080" and it handles it.
|
|
203
|
+
|
|
204
|
+
**Can I deploy multiple projects to the same server?**
|
|
205
|
+
Yes. Each project gets its own subdomain and they run independently.
|
|
206
|
+
|
|
207
|
+
**What if something goes wrong?**
|
|
208
|
+
Just describe the problem to Claude: "my site isn't loading" and Claude will investigate and fix it.
|
|
161
209
|
|
|
162
|
-
|
|
163
|
-
|
|
210
|
+
**Do I need to buy a domain?**
|
|
211
|
+
No. You get a free `yourproject.zisites.app` address for every project.
|
|
164
212
|
|
|
165
213
|
---
|
|
166
214
|
|
package/dist/index.js
CHANGED
|
@@ -46,7 +46,7 @@ const program = new commander_1.Command();
|
|
|
46
46
|
program
|
|
47
47
|
.name('zideploy')
|
|
48
48
|
.description('ZiSales Deploy Plugin — Deploy projects to PaaS servers')
|
|
49
|
-
.version('1.1.
|
|
49
|
+
.version('1.1.9');
|
|
50
50
|
program
|
|
51
51
|
.command('init')
|
|
52
52
|
.description('Initialize a server: install Docker, Nginx, Node.js, configure IR mirrors if needed')
|
|
@@ -182,7 +182,7 @@ program
|
|
|
182
182
|
const w = chalk_1.default.white;
|
|
183
183
|
console.log();
|
|
184
184
|
console.log(chalk_1.default.cyan.bold(' ╔══════════════════════════════════╗'));
|
|
185
|
-
console.log(chalk_1.default.cyan.bold(' ║') + chalk_1.default.white.bold(' ZiDeploy v1.1.
|
|
185
|
+
console.log(chalk_1.default.cyan.bold(' ║') + chalk_1.default.white.bold(' ZiDeploy v1.1.9 ') + chalk_1.default.cyan.bold('║'));
|
|
186
186
|
console.log(chalk_1.default.cyan.bold(' ║') + chalk_1.default.dim(' Deploy projects to your servers ') + chalk_1.default.cyan.bold('║'));
|
|
187
187
|
console.log(chalk_1.default.cyan.bold(' ╚══════════════════════════════════╝'));
|
|
188
188
|
console.log();
|
package/dist/mcp-server.js
CHANGED
|
@@ -54,7 +54,7 @@ const docker_deploy_1 = require("./deploy/docker-deploy");
|
|
|
54
54
|
const direct_deploy_1 = require("./deploy/direct-deploy");
|
|
55
55
|
const server = new mcp_js_1.McpServer({
|
|
56
56
|
name: 'zideploy',
|
|
57
|
-
version: '1.1.
|
|
57
|
+
version: '1.1.9',
|
|
58
58
|
});
|
|
59
59
|
const credFields = {
|
|
60
60
|
host: zod_1.z.string().describe('Server IP address'),
|