ghostdock 0.0.19 → 0.1.0

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.
@@ -1,1714 +0,0 @@
1
- # ghostdock CLI reference
2
-
3
- <!-- Generated by `bun run sync:cli-reference` from the CLI's command tree. Do not edit. -->
4
-
5
- Every command the `ghostdock` CLI ships, with its full description and flags.
6
- For how to install, log in and choose an organization, read [cli.md](cli.md). Concepts and
7
- workflows are in the built-in skills (`ghostdock skills list`).
8
-
9
- Binaries: `ghostdock`, `gdock`.
10
- Global flag `--base-url`: API origin (overrides GHOSTDOCK_BASE_URL and the built-in default).
11
- Global flag `--json`: Print the result as one JSON document on stdout, for scripts and agents. Without it, output is for people.
12
-
13
- ## `ghostdock apps`
14
-
15
- Published apps of an organization.
16
-
17
- ### `ghostdock apps list`
18
-
19
- List the live published apps (sites) of an organization, with their URLs. Each app has a siteId to pass to sites unpublish.
20
-
21
- ```
22
- ghostdock apps list [flags]
23
- ```
24
-
25
- | Argument | Description |
26
- | --- | --- |
27
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
28
-
29
- MCP tool: `apps_list`.
30
-
31
- ## `ghostdock docker`
32
-
33
- Docker over the private network: a sandbox's Docker engine from this machine.
34
-
35
- ### `ghostdock docker context`
36
-
37
- Point Docker at a sandbox's Docker engine over the private network: plain `docker` and `docker compose` then run there. Creates (or updates) the Docker context ghostdock-<org>-<sandbox> for tcp://<sandbox>.<org>.ghostdock.internal:2376 with a client certificate of this machine's device, and makes it the current context. Needs `ghostdock network connect` first, and Docker's CLI. The certificate lives 30 days; `network connect` and this command renew it with 10 days left. An expired certificate fails Docker's TLS handshake with Docker's own error: run this command again. Docker's `no such host` on a ghostdock.internal address means this machine is not connected: run `ghostdock network connect`. After an organization rename the old name stops resolving: run it again to update the host.
38
-
39
- ```
40
- ghostdock docker context <sandbox> [flags]
41
- ```
42
-
43
- | Argument | Description |
44
- | --- | --- |
45
- | `<sandbox>` | Sandbox name, from `network ls`. Required. |
46
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
47
- | `--use` | Make it the current Docker context (`docker context use`). `--no-use` only creates or updates it. Default: `true`. |
48
-
49
- ## `ghostdock env`
50
-
51
- Manage organization environment variables and secrets.
52
-
53
- ### `ghostdock env delete`
54
-
55
- Delete a variable or secret.
56
-
57
- ```
58
- ghostdock env delete <name> [flags]
59
- ```
60
-
61
- | Argument | Description |
62
- | --- | --- |
63
- | `<name>` | Environment variable name. Required. |
64
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
65
-
66
- MCP tool: `env_delete`.
67
-
68
- ### `ghostdock env get`
69
-
70
- Print one variable value in full (secrets cannot be read).
71
-
72
- ```
73
- ghostdock env get <name> [flags]
74
- ```
75
-
76
- | Argument | Description |
77
- | --- | --- |
78
- | `<name>` | Environment variable name. Required. |
79
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
80
-
81
- MCP tool: `env_get`.
82
-
83
- ### `ghostdock env list`
84
-
85
- List variables and secrets.
86
-
87
- ```
88
- ghostdock env list [flags]
89
- ```
90
-
91
- | Argument | Description |
92
- | --- | --- |
93
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
94
-
95
- MCP tool: `env_list`.
96
-
97
- ### `ghostdock env set`
98
-
99
- Create or replace a variable or secret.
100
-
101
- ```
102
- ghostdock env set <name> [flags]
103
- ```
104
-
105
- | Argument | Description |
106
- | --- | --- |
107
- | `<name>` | Environment variable name. Required. |
108
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
109
- | `--value <value>` | Value to store. |
110
- | `--value-stdin` | Read the value from stdin — keeps secrets out of shell history. |
111
- | `--secret` | Shorthand for --kind secret. Required when creating a secret. |
112
- | `--kind <value>` | variable or secret. Required when creating; on an update, omit to keep the existing kind or pass the other to convert. |
113
- | `--comment <value>` | Note about what this value is for. |
114
-
115
- MCP tool: `env_set`.
116
-
117
- ## `ghostdock images`
118
-
119
- Organization image catalog: OCI bookmarks, Dockerfiles and Compose files.
120
-
121
- ### `ghostdock images add`
122
-
123
- Bookmark an OCI image ref in the organization’s image catalog. Fails if it is already bookmarked.
124
-
125
- ```
126
- ghostdock images add --ref <string> [flags]
127
- ```
128
-
129
- | Argument | Description |
130
- | --- | --- |
131
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
132
- | `--ref <string>` | OCI image reference, e.g. ghcr.io/acme/app:latest. Required. |
133
- | `--label <string>` | Display label for the bookmark. Optional. |
134
-
135
- MCP tool: `images_add`.
136
-
137
- ### `ghostdock images add-compose`
138
-
139
- Add a Compose project to the organization’s image catalog. Give its files, or a reference: a Compose project published as an OCI artifact (oci://…), used through include: with an optional override. ghostdock.* service labels (of the files, or of the override) become its manifest. Fails if the name is taken.
140
-
141
- ```
142
- ghostdock images add-compose --name <string> [flags]
143
- ```
144
-
145
- | Argument | Description |
146
- | --- | --- |
147
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
148
- | `--name <string>` | Image name, unique in the organization. Required. |
149
- | `--files <object>` | Compose files by file name. Must include docker-compose.yml/yaml or compose.yml/yaml. (JSON object) |
150
- | `--reference <string>` | A published Compose project instead of files, e.g. oci://docker.io/ghostdockhq/headless-compose:ubuntu-26.04. |
151
- | `--override <string>` | With reference: a Compose file merged into it (services, environment, labels). |
152
-
153
- MCP tool: `images_add_compose`.
154
-
155
- ### `ghostdock images add-dockerfile`
156
-
157
- Add a Dockerfile to the organization’s image catalog. ghostdock.* LABEL lines become its manifest. Fails if the name is taken.
158
-
159
- ```
160
- ghostdock images add-dockerfile --name <string> --dockerfile <string> [flags]
161
- ```
162
-
163
- | Argument | Description |
164
- | --- | --- |
165
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
166
- | `--name <string>` | Image name, unique in the organization. Required. |
167
- | `--dockerfile <string>` | Dockerfile text. ghostdock.* LABEL lines become the image manifest. Required. |
168
-
169
- MCP tool: `images_add_dockerfile`.
170
-
171
- ### `ghostdock images get`
172
-
173
- Get one catalog image with its spec, manifest and requirements. Returns kind, spec and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. An OCI bookmark’s manifest is null: its labels are read at create time.
174
-
175
- ```
176
- ghostdock images get <image-id> [flags]
177
- ```
178
-
179
- | Argument | Description |
180
- | --- | --- |
181
- | `<image-id>` | Catalog image id, from images list or images get. Required. |
182
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
183
-
184
- MCP tool: `images_get`.
185
-
186
- ### `ghostdock images list`
187
-
188
- List the images an organization can boot sandboxes from. OCI bookmarks, images add-dockerfile and images add-compose rows, and refs its sandboxes use. A discovery catalog, not an allowlist: sandboxes create accepts any OCI ref. Items carry sandboxCount and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. An OCI bookmark stores no labels (manifest null): sandboxes create reads them from the digest the ref names then.
189
-
190
- ```
191
- ghostdock images list [flags]
192
- ```
193
-
194
- | Argument | Description |
195
- | --- | --- |
196
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
197
-
198
- MCP tool: `images_list`.
199
-
200
- ### `ghostdock images remove`
201
-
202
- Remove an image from the organization’s catalog. Sandboxes already using it are not affected.
203
-
204
- ```
205
- ghostdock images remove <image-id> [flags]
206
- ```
207
-
208
- | Argument | Description |
209
- | --- | --- |
210
- | `<image-id>` | Catalog image id, from images list or images get. Required. |
211
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
212
-
213
- MCP tool: `images_remove`.
214
-
215
- ### `ghostdock images update-compose`
216
-
217
- Replace a catalog Compose image’s files, reference, override and/or name. Re-parses its labels.
218
-
219
- ```
220
- ghostdock images update-compose <image-id> [flags]
221
- ```
222
-
223
- | Argument | Description |
224
- | --- | --- |
225
- | `<image-id>` | Catalog image id, from images list or images get. Required. |
226
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
227
- | `--files <object>` | New Compose files by file name. Omit to keep the current files. (JSON object) |
228
- | `--reference <string>` | A new reference (oci://…): the image becomes a Compose reference. |
229
- | `--override <string>` | A reference’s new override; null removes it. |
230
- | `--name <string>` | New image name. Omit to keep it. |
231
-
232
- MCP tool: `images_update_compose`.
233
-
234
- ### `ghostdock images update-dockerfile`
235
-
236
- Replace a catalog Dockerfile, optionally renaming it. Re-parses its ghostdock.* labels.
237
-
238
- ```
239
- ghostdock images update-dockerfile <image-id> --dockerfile <string> [flags]
240
- ```
241
-
242
- | Argument | Description |
243
- | --- | --- |
244
- | `<image-id>` | Catalog image id, from images list or images get. Required. |
245
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
246
- | `--dockerfile <string>` | Dockerfile text. ghostdock.* LABEL lines become the image manifest. Required. |
247
- | `--name <string>` | New image name. Omit to keep it. |
248
-
249
- MCP tool: `images_update_dockerfile`.
250
-
251
- ## `ghostdock login`
252
-
253
- Sign in and store a device access token for this machine (~/.config/ghostdock/credentials.json).
254
-
255
- ```
256
- ghostdock login [flags]
257
- ```
258
-
259
- | Argument | Description |
260
- | --- | --- |
261
- | `--wait` | Poll until the login is approved in the browser (default timeout 5 minutes). |
262
- | `--code <value>` | Redeem the one-time paste code shown in the browser instead of polling. |
263
- | `--timeout <value>` | Max seconds to poll when using --wait (default 300). |
264
- | `--org <value>` | Set this organization (id or slug) as the default once logged in. |
265
-
266
- ## `ghostdock logout`
267
-
268
- Revoke the device session and remove stored credentials.
269
-
270
- ```
271
- ghostdock logout
272
- ```
273
-
274
- ## `ghostdock network`
275
-
276
- The private network: reach your sandboxes by address and name from this machine.
277
-
278
- ### `ghostdock network connect`
279
-
280
- Put this machine into the private network through one provider: WireGuard and split DNS. The organization (--org, else the default) becomes this machine's short-name organization. Also re-arms a paused device: with the tunnel up and nothing changed, without sudo.
281
-
282
- ```
283
- ghostdock network connect [provider] [flags]
284
- ```
285
-
286
- | Argument | Description |
287
- | --- | --- |
288
- | `<provider>` | Sandbox provider name or id. Omit for the organization's default provider (else the platform default). Only its sandboxes are reachable; connecting through another replaces the connection. |
289
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
290
-
291
- ### `ghostdock network devices`
292
-
293
- Your devices in the private network.
294
-
295
- ```
296
- ghostdock network devices <command>
297
- ```
298
-
299
- ### `ghostdock network devices remove`
300
-
301
- Remove one of your devices from the private network.
302
-
303
- ```
304
- ghostdock network devices remove <id>
305
- ```
306
-
307
- | Argument | Description |
308
- | --- | --- |
309
- | `<id>` | Device id, from `network devices`. Required. |
310
-
311
- ### `ghostdock network disconnect`
312
-
313
- Take this machine out of the private network, and remove split DNS an earlier connection left (macOS).
314
-
315
- ```
316
- ghostdock network disconnect
317
- ```
318
-
319
- ### `ghostdock network ls`
320
-
321
- Sandboxes of an organization with their private addresses and names, and which are reachable through the current connection.
322
-
323
- ```
324
- ghostdock network ls [flags]
325
- ```
326
-
327
- | Argument | Description |
328
- | --- | --- |
329
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
330
-
331
- ### `ghostdock network status`
332
-
333
- Whether this machine is connected, through which provider, and as which device.
334
-
335
- ```
336
- ghostdock network status
337
- ```
338
-
339
- ## `ghostdock organizations`
340
-
341
- Organizations you belong to.
342
-
343
- ### `ghostdock organizations current`
344
-
345
- Show which organization commands use, and where it comes from.
346
-
347
- ```
348
- ghostdock organizations current [flags]
349
- ```
350
-
351
- | Argument | Description |
352
- | --- | --- |
353
- | `--org <value>` | Check what this --org would resolve to. |
354
-
355
- ### `ghostdock organizations list`
356
-
357
- List the organizations you belong to, with their ids and slugs.
358
-
359
- ```
360
- ghostdock organizations list
361
- ```
362
-
363
- MCP tool: `organizations_list`.
364
-
365
- ### `ghostdock organizations use`
366
-
367
- Set the default organization for commands run without --org (in every directory).
368
-
369
- ```
370
- ghostdock organizations use [org] [flags]
371
- ```
372
-
373
- | Argument | Description |
374
- | --- | --- |
375
- | `<org>` | Organization id or slug. |
376
- | `--clear` | Remove the default organization. |
377
-
378
- ## `ghostdock projects`
379
-
380
- Deployable projects, their deployments and environment.
381
-
382
- ### `ghostdock projects create`
383
-
384
- Create an empty project. Nothing is deployed until projects publish.
385
-
386
- ```
387
- ghostdock projects create --display-name <string> [flags]
388
- ```
389
-
390
- | Argument | Description |
391
- | --- | --- |
392
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
393
- | `--display-name <string>` | Project name. Required. |
394
-
395
- MCP tool: `projects_create`.
396
-
397
- ### `ghostdock projects deployments`
398
-
399
- Deployments of a project.
400
-
401
- ### `ghostdock projects deployments get`
402
-
403
- Get one deploy attempt, with links to its stored files. fileUrls are authenticated GET paths for source.zip and generated Compose files.
404
-
405
- ```
406
- ghostdock projects deployments get <deployment-id> --project-id <string> [flags]
407
- ```
408
-
409
- | Argument | Description |
410
- | --- | --- |
411
- | `<deployment-id>` | Deployment id, from projects deployments list. Required. |
412
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
413
- | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
414
-
415
- MCP tool: `projects_deployments_get`.
416
-
417
- ### `ghostdock projects deployments list`
418
-
419
- List a project’s deploy attempts, newest first.
420
-
421
- ```
422
- ghostdock projects deployments list <project-id> [flags]
423
- ```
424
-
425
- | Argument | Description |
426
- | --- | --- |
427
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
428
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
429
-
430
- MCP tool: `projects_deployments_list`.
431
-
432
- ### `ghostdock projects env`
433
-
434
- Environment a project exports.
435
-
436
- ### `ghostdock projects env delete`
437
-
438
- Delete one of a project’s own variables or secrets.
439
-
440
- ```
441
- ghostdock projects env delete <name> --project-id <string> [flags]
442
- ```
443
-
444
- | Argument | Description |
445
- | --- | --- |
446
- | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
447
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
448
- | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
449
-
450
- MCP tool: `projects_env_delete`.
451
-
452
- ### `ghostdock projects env get`
453
-
454
- Get a project’s stored environment. Local entries (secret values withheld), organization opt-ins and bindings, applied on every deploy.
455
-
456
- ```
457
- ghostdock projects env get <project-id> [flags]
458
- ```
459
-
460
- | Argument | Description |
461
- | --- | --- |
462
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
463
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
464
-
465
- MCP tool: `projects_env_get`.
466
-
467
- ### `ghostdock projects env select`
468
-
469
- Replace the organization entries a project exports. Full replace: environment is the whole list ([] clears it), and omitting bindings clears the remaps. Read the environment skill (`ghostdock skills get environment`).
470
-
471
- ```
472
- ghostdock projects env select <project-id> --environment <array> [flags]
473
- ```
474
-
475
- | Argument | Description |
476
- | --- | --- |
477
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
478
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
479
- | `--environment <array>` | Organization catalogue entry names to export under their own names. (JSON array) Required. |
480
- | `--bindings <array>` | Slot-centric org bindings. Omit to clear existing remaps. (JSON array) |
481
-
482
- MCP tool: `projects_env_select`.
483
-
484
- ### `ghostdock projects env set`
485
-
486
- Create or replace one of a project’s own variables or secrets. Prefer the CLI for secret values so they stay out of the conversation.
487
-
488
- ```
489
- ghostdock projects env set <name> --project-id <string> --value <string> --kind <string> [flags]
490
- ```
491
-
492
- | Argument | Description |
493
- | --- | --- |
494
- | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
495
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
496
- | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
497
- | `--value <string>` | The value to store. A secret value can be replaced later but never read back. Required. |
498
- | `--kind <string>` | "variable" or "secret". A secret value can be replaced but never read back. Required. |
499
- | `--comment <string>` | Optional note shown with the entry, e.g. what it is for. |
500
-
501
- MCP tool: `projects_env_set`.
502
-
503
- ### `ghostdock projects get`
504
-
505
- Get a project with its latest attempt and live deployment. latestDeploymentId includes failures; liveDeploymentId / liveUrl is the success that serves the public URL.
506
-
507
- ```
508
- ghostdock projects get <project-id> [flags]
509
- ```
510
-
511
- | Argument | Description |
512
- | --- | --- |
513
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
514
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
515
-
516
- MCP tool: `projects_get`.
517
-
518
- ### `ghostdock projects list`
519
-
520
- List an organization’s projects. A project owns its environment, deployment history and live URL. apps list lists live URLs instead.
521
-
522
- ```
523
- ghostdock projects list [flags]
524
- ```
525
-
526
- | Argument | Description |
527
- | --- | --- |
528
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
529
-
530
- MCP tool: `projects_list`.
531
-
532
- ### `ghostdock projects publish`
533
-
534
- Inspect local source with the deploy agent and publish to the CDN or a sandbox.
535
-
536
- ```
537
- ghostdock projects publish [path] [flags]
538
- ```
539
-
540
- | Argument | Description |
541
- | --- | --- |
542
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
543
- | `--project-id <value>` | Existing project id. Omit to create a project. |
544
- | `--replan` | Force a new planner run even when the stored spec still matches. |
545
- | `--require-verify` | Fail the deploy (verify_failed) when detected tests fail. Default false: tests still run and are reported. |
546
- | `--spec <value>` | JSON DeploymentSpec to execute on a fresh sandbox instead of planning. Mutually exclusive with --replan. |
547
- | `--display-name <value>` | Optional display name. |
548
- | `--tag <value>` | Optional caller tag (git SHA or free-form label) stored on the deployment. |
549
- | `--auto-stop-interval-minutes <value>` | Same as `sandboxes create`. Omit for the 20-minute default. Pass -1 to keep it running. 0 is rejected. |
550
- | `--auto-delete-after-days <value>` | Same as `sandboxes create`: days stopped before the record is deleted (0–365). Omit for the 14-day default. Pass 0 to delete the record when it stops. |
551
- | `--resources <value>` | Same as `sandboxes create`: JSON { cpu, memoryGiB, diskGiB }. |
552
- | `--environment <value>` | Same as `sandboxes create --environment`: JSON { organization, bindings, local }. Required after awaiting_configuration. |
553
- | `--auto-wake <value>` | Same as `sandboxes urls create --auto-wake`. Default true for the minted URL. |
554
- | `--public <value>` | Same as `sandboxes urls create --public`. Default true for the minted URL. |
555
- | `--sandbox-provider-id <value>` | Same as `sandboxes create`: configured sandbox-provider instance id (omit for the organization default). |
556
- | `--zip <value>` | Local ZIP of the source tree. |
557
- | `<path>` | File or directory to publish (additional paths are allowed). |
558
-
559
- MCP tool: `projects_publish`.
560
-
561
- ### `ghostdock projects redeploy`
562
-
563
- Deploy a project’s stored source again, with its current environment. No new upload. Omit deploymentId to retry the last attempt that stored source. Same outcomes and settings as projects publish; read the publishing skill (`ghostdock skills get publishing`).
564
-
565
- ```
566
- ghostdock projects redeploy <project-id> [flags]
567
- ```
568
-
569
- | Argument | Description |
570
- | --- | --- |
571
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
572
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
573
- | `--deployment-id <string>` | Ship this version’s stored upload and spec. Omit to retry the last attempt that stored source. |
574
- | `--require-verify` | When true, a failing verify step stops the deploy (verify_failed) and tears the sandbox down. Default false. |
575
- | `--tag <string>` | Optional caller tag stored on the new deployment. Metadata only. |
576
- | `--resources <object>` | Compute sizing. For image/dockerfile/compose: layered on platform defaults when omitted. For snapshot: optional override applied via resize after create. (JSON object) |
577
- | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 means always on. 0 is rejected. Omit for the platform default. Provider-native timers are optional backup. |
578
- | `--lifecycle <string>` | What may make the sandbox disappear on its own. ephemeral: every stop wipes the VM and its disk, and the next start runs its Compose project again (edits in the project folder kept, everything else gone; locks too). auto_delete (default): a stop keeps the disk, and the record goes autoDeleteAfterDays after the stop. keep: never removed automatically. Omit for the image label ghostdock.ephemeral, else auto_delete. ephemeral is chosen here only. |
579
- | `--auto-delete-after-days <integer>` | Days the sandbox stays stopped before the platform worker deletes the record (0–365; 0 deletes it when it stops). Omit for the platform default (14). Not with keep. A container a person locked holds it. |
580
- | `--sandbox-provider-id <string>` | Configured sandbox-provider instance id from providers list (not the provider kind). Omit to use the organization default (the org choice, else the platform default); if that provider lacks a capability this create needs, the first listed provider that accepts new sandboxes and has it is used. When no provider fits, the call fails with a not-configured error. |
581
- | `--environment <object>` | Environment to give this sandbox. organization: names of organization entries (from env list) to export under their own names. bindings: remap org entries onto slot names ({ name: slot, organization: orgEntryName }). local: sandbox-only variables/secrets to create with the sandbox (kind required for each). Both land as ordinary process environment variables ($NAME / process.env.NAME); a local entry overrides an organization entry of the same name. When booting from an organization snapshot, omit organization/bindings/local to keep manifest env defaults, but still supply every name in requiredEnvironment (via organization, bindings, or local). Otherwise a sandbox gets nothing unless listed here. (JSON object) |
582
- | `--auto-wake` | Same as urls[].autoWake on sandboxes create. Default true for the minted URL. |
583
- | `--public` | Same as urls[].public on sandboxes create. Default true for the minted URL. |
584
-
585
- MCP tool: `projects_redeploy`.
586
-
587
- ### `ghostdock projects update`
588
-
589
- Rename a project.
590
-
591
- ```
592
- ghostdock projects update <project-id> --display-name <string> [flags]
593
- ```
594
-
595
- | Argument | Description |
596
- | --- | --- |
597
- | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
598
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
599
- | `--display-name <string>` | New name. Null or empty clears it. Required. |
600
-
601
- MCP tool: `projects_update`.
602
-
603
- ## `ghostdock providers`
604
-
605
- Sandbox providers of an organization.
606
-
607
- ### `ghostdock providers disconnect`
608
-
609
- Disconnect one of the organization’s own sandbox providers. Owner or admin. Fails while sandboxes still use it. If organization snapshots live on it, the first call fails: pass confirmLinkedDeletion to delete them permanently. Also frees its custom domain and removes incomplete Incus setups; a default provider falls back to the platform default.
610
-
611
- ```
612
- ghostdock providers disconnect <sandbox-provider-id> [flags]
613
- ```
614
-
615
- | Argument | Description |
616
- | --- | --- |
617
- | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
618
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
619
- | `--confirm-linked-deletion` | Required when this provider still has organization snapshots. Permanently deletes those snapshots, then disconnects. |
620
-
621
- MCP tool: `providers_disconnect`.
622
-
623
- ### `ghostdock providers list`
624
-
625
- List the sandbox providers an organization can create sandboxes on. Includes its own connected providers and the platform providers it may use, in fallback order. Use an item id as sandboxProviderId. Only items with acceptsNewSandboxes true take new sandboxes; an own provider stays incomplete until customDomain.status is active. defaultSandboxProviderId is the effective default. Read the sandboxes skill (`ghostdock skills get sandboxes`) for the details.
626
-
627
- ```
628
- ghostdock providers list [flags]
629
- ```
630
-
631
- | Argument | Description |
632
- | --- | --- |
633
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
634
-
635
- MCP tool: `providers_list`.
636
-
637
- ### `ghostdock providers rename`
638
-
639
- Rename one of the organization’s own sandbox providers. Owner or admin. Platform providers cannot be renamed; names must be unique in the organization.
640
-
641
- ```
642
- ghostdock providers rename <sandbox-provider-id> --name <string> [flags]
643
- ```
644
-
645
- | Argument | Description |
646
- | --- | --- |
647
- | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
648
- | `--name <string>` | New name, unique in the organization. Required. |
649
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
650
-
651
- MCP tool: `providers_rename`.
652
-
653
- ### `ghostdock providers set-default`
654
-
655
- Set the provider used when a create omits sandboxProviderId. Applies to sandboxes create, projects publish and projects redeploy. Pass an own connected provider or a platform provider that accepts new sandboxes; pass null (or platformDefaultSandboxProviderId) to follow the platform default. Owner or admin.
656
-
657
- ```
658
- ghostdock providers set-default <sandbox-provider-id> [flags]
659
- ```
660
-
661
- | Argument | Description |
662
- | --- | --- |
663
- | `<sandbox-provider-id>` | Instance id from providers list (own or platform), or null to follow the platform default. Passing platformDefaultSandboxProviderId also follows the platform default; it is never pinned. Required. |
664
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
665
-
666
- MCP tool: `providers_set_default`.
667
-
668
- ### `ghostdock providers start-incus`
669
-
670
- Start connecting an Incus host as a sandbox provider. Owner or admin. Returns sshPublicKey and aiSetupPrompt; then call providers verify-incus. To finish an incomplete setup, reuse it from providers list instead of starting again. Read the incus-setup skill (`ghostdock skills get incus-setup`) first.
671
-
672
- ```
673
- ghostdock providers start-incus [flags]
674
- ```
675
-
676
- | Argument | Description |
677
- | --- | --- |
678
- | `--name <string>` | Name for the new provider. Optional. |
679
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
680
-
681
- MCP tool: `providers_start_incus`.
682
-
683
- ### `ghostdock providers verify-incus`
684
-
685
- Check or finish connecting an Incus host. Owner or admin. Connects over SSH with the stored key and checks Incus 6.3+, skopeo and umoci. Omit sshHost to re-check the stored address; pass it (with the other host fields) only to move the provider. A failed check marks the provider error. Read the incus-setup skill (`ghostdock skills get incus-setup`).
686
-
687
- ```
688
- ghostdock providers verify-incus <sandbox-provider-id> [flags]
689
- ```
690
-
691
- | Argument | Description |
692
- | --- | --- |
693
- | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
694
- | `--ssh-host <string>` | Host to SSH to. Omit to re-check the stored address; pass it only to set up or move the provider. |
695
- | `--ssh-port <integer>` | SSH port. Default 22. |
696
- | `--ssh-user <string>` | SSH login. Default incus-user. |
697
- | `--ingress-host <string>` | Public hostname for HTTP(S) when it is not the SSH host (also the DNS A/AAAA target). |
698
- | `--ssh-proxy-port <integer>` | Port for sandbox SSH on the host. Default 2222. |
699
- | `--name <string>` | New name. Optional. |
700
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
701
-
702
- MCP tool: `providers_verify_incus`.
703
-
704
- ## `ghostdock registry`
705
-
706
- Log in to the organization container registry.
707
-
708
- ### `ghostdock registry credentials`
709
-
710
- Print registry host, username, and the one-hour password.
711
-
712
- ```
713
- ghostdock registry credentials [flags]
714
- ```
715
-
716
- | Argument | Description |
717
- | --- | --- |
718
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
719
- | `--provider <value>` | Sandbox provider id. Omit for the provider `sandboxes create` would pick (org default, else platform default, else the first that fits). |
720
-
721
- MCP tool: `registry_credentials`.
722
-
723
- ### `ghostdock registry login`
724
-
725
- Fetch a one-hour password and run docker login --password-stdin.
726
-
727
- ```
728
- ghostdock registry login [flags]
729
- ```
730
-
731
- | Argument | Description |
732
- | --- | --- |
733
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
734
- | `--provider <value>` | Sandbox provider id. Omit for the provider `sandboxes create` would pick (org default, else platform default, else the first that fits). |
735
-
736
- ## `ghostdock sandboxes`
737
-
738
- Create, run and manage sandboxes.
739
-
740
- ### `ghostdock sandboxes build`
741
-
742
- Create a sandbox from a local Dockerfile or Compose directory. Zips the directory (or takes --zip) and builds it on the sandbox provider; use it when the Dockerfile copies local files or the Compose project has build contexts.
743
-
744
- ```
745
- ghostdock sandboxes build [path] --kind <value> [flags]
746
- ```
747
-
748
- | Argument | Description |
749
- | --- | --- |
750
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
751
- | `--kind <value>` | dockerfile or compose. Required. |
752
- | `--sandbox-provider-id <value>` | Configured sandbox-provider instance id (omit for the organization default). |
753
- | `--display-name <value>` | Optional sandbox display name. |
754
- | `--zip <value>` | Local ZIP of the build directory (Dockerfile or compose file at the zip root). |
755
- | `<path>` | Build directory to zip and create from. |
756
-
757
- ### `ghostdock sandboxes commands`
758
-
759
- Run commands in a sandbox and read their output.
760
-
761
- ### `ghostdock sandboxes commands get`
762
-
763
- Get a shell command’s status and exit code.
764
-
765
- ```
766
- ghostdock sandboxes commands get <command-id> --sandbox-id <string> --session-id <string> [flags]
767
- ```
768
-
769
- | Argument | Description |
770
- | --- | --- |
771
- | `<command-id>` | Command id returned by sandboxes commands run. Required. |
772
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
773
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
774
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
775
- | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
776
- | `--start` | Start the container first when it is not running, without asking. |
777
-
778
- MCP tool: `sandboxes_commands_get`.
779
-
780
- ### `ghostdock sandboxes commands kill`
781
-
782
- Interrupt a running shell command.
783
-
784
- ```
785
- ghostdock sandboxes commands kill <command-id> --sandbox-id <string> --session-id <string> [flags]
786
- ```
787
-
788
- | Argument | Description |
789
- | --- | --- |
790
- | `<command-id>` | Command id returned by sandboxes commands run. Required. |
791
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
792
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
793
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
794
- | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
795
- | `--start` | Start the container first when it is not running, without asking. |
796
-
797
- MCP tool: `sandboxes_commands_kill`.
798
-
799
- ### `ghostdock sandboxes commands logs`
800
-
801
- Get a page of a shell command’s stdout and stderr.
802
-
803
- ```
804
- ghostdock sandboxes commands logs <command-id> --sandbox-id <string> --session-id <string> [flags]
805
- ```
806
-
807
- | Argument | Description |
808
- | --- | --- |
809
- | `<command-id>` | Command id returned by sandboxes commands run. Required. |
810
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
811
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
812
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
813
- | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
814
- | `--offset <integer>` | Character offset to continue reading from. Default 0. |
815
- | `--start` | Start the container first when it is not running, without asking. |
816
-
817
- MCP tool: `sandboxes_commands_logs`.
818
-
819
- ### `ghostdock sandboxes commands run`
820
-
821
- Run a shell command in a sandbox. Waits up to 120 seconds, then returns sessionId and commandId to poll. Starts the sandbox when allowed. Sessions do not survive idle-stop: for a process that must keep running, read the sandbox-boot skill (`ghostdock skills get sandbox-boot`). Never put secret values in the command; it is logged.
822
-
823
- ```
824
- ghostdock sandboxes commands run <sandbox-id> --command <string> [flags]
825
- ```
826
-
827
- | Argument | Description |
828
- | --- | --- |
829
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
830
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
831
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
832
- | `--command <string>` | Shell command to run. Never include secret values: commands are logged. Required. |
833
- | `--session-id <string>` | Session from sandboxes shells create, to keep cwd and environment from earlier commands. Omit for a one-off session. |
834
- | `--cwd <string>` | Directory to run the command in. |
835
- | `--wait-seconds <number>` | Seconds to wait before returning handles to poll: 1 to 120, default 120. |
836
- | `--start` | Start the container first when it is not running, without asking. |
837
-
838
- MCP tool: `sandboxes_commands_run`.
839
-
840
- ### `ghostdock sandboxes containers`
841
-
842
- Containers of a sandbox’s Docker engine.
843
-
844
- ### `ghostdock sandboxes containers list`
845
-
846
- List the containers of a sandbox, running or not. Each with state, health, restart policy, ports, Compose project and service, its lock (locked, and whether a person or its ghostdock.lock label decided), ghostdock.* labels, and which one is the default. A stopped sandbox lists none (it is not started for this).
847
-
848
- ```
849
- ghostdock sandboxes containers list <sandbox-id> [flags]
850
- ```
851
-
852
- | Argument | Description |
853
- | --- | --- |
854
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
855
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
856
-
857
- MCP tool: `sandboxes_containers_list`.
858
-
859
- ### `ghostdock sandboxes containers lock`
860
-
861
- Lock a container against removal. A locked container cannot be removed, renamed or recreated through Docker (docker rm, compose down, a compose up that would recreate it) until it is unlocked here; start, stop and restart still work. It also pauses the sandbox’s auto-delete. An ephemeral sandbox’s stop still wipes it. Never starts the sandbox: a stopped one gets the lock at its next start.
862
-
863
- ```
864
- ghostdock sandboxes containers lock <sandbox-id> <container> [flags]
865
- ```
866
-
867
- | Argument | Description |
868
- | --- | --- |
869
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
870
- | `<container>` | Container, by name. Required. |
871
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
872
-
873
- MCP tool: `sandboxes_containers_lock`.
874
-
875
- ### `ghostdock sandboxes containers logs`
876
-
877
- Read a container’s output, as docker logs does. Oldest first, each line with its stream (stdout, stderr) and time. The last tail lines (default 200), or with after only the lines after that time: pass the last line’s time to follow. truncated says lines were left out. A stopped sandbox has none (it is not started for this).
878
-
879
- ```
880
- ghostdock sandboxes containers logs <sandbox-id> <container> [flags]
881
- ```
882
-
883
- | Argument | Description |
884
- | --- | --- |
885
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
886
- | `<container>` | Container, by name. Required. |
887
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
888
- | `--tail <integer>` | The last N lines (at most 5000). |
889
- | `--after <string>` | Only lines after this time: the time of the last line already read. |
890
- | `--follow` | Keep printing new lines until Ctrl-C. |
891
- | `--timestamps` | Put each line's time in front of it. |
892
-
893
- MCP tool: `sandboxes_containers_logs`.
894
-
895
- ### `ghostdock sandboxes containers restart`
896
-
897
- Restart a container, as docker restart does (stopping as docker stop does). Starts the sandbox when needed.
898
-
899
- ```
900
- ghostdock sandboxes containers restart <sandbox-id> <container> [flags]
901
- ```
902
-
903
- | Argument | Description |
904
- | --- | --- |
905
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
906
- | `<container>` | Container, by name. Required. |
907
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
908
-
909
- MCP tool: `sandboxes_containers_restart`.
910
-
911
- ### `ghostdock sandboxes containers start`
912
-
913
- Start a stopped container, as docker start does. A running container stays as it is. Starts the sandbox when needed.
914
-
915
- ```
916
- ghostdock sandboxes containers start <sandbox-id> <container> [flags]
917
- ```
918
-
919
- | Argument | Description |
920
- | --- | --- |
921
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
922
- | `<container>` | Container, by name. Required. |
923
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
924
-
925
- MCP tool: `sandboxes_containers_start`.
926
-
927
- ### `ghostdock sandboxes containers stop`
928
-
929
- Stop a container, as docker stop does. It gets its own stop signal, then a kill after its own stop timeout. It stays stopped while the sandbox sleeps and wakes, as Docker keeps a stopped container stopped, unless its restart policy is always. On a stopped sandbox it does nothing (note sandbox_stopped). A lock does not block it. note says when it was the default container or the last one running: then SSH, commands and files have nowhere to land until one runs.
930
-
931
- ```
932
- ghostdock sandboxes containers stop <sandbox-id> <container> [flags]
933
- ```
934
-
935
- | Argument | Description |
936
- | --- | --- |
937
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
938
- | `<container>` | Container, by name. Required. |
939
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
940
-
941
- MCP tool: `sandboxes_containers_stop`.
942
-
943
- ### `ghostdock sandboxes containers unlock`
944
-
945
- Unlock a container so Docker can remove or recreate it. Also one its image locked with the ghostdock.lock label. Never starts the sandbox: a stopped one gets it at its next start, and an overdue auto-delete it held goes ahead.
946
-
947
- ```
948
- ghostdock sandboxes containers unlock <sandbox-id> <container> [flags]
949
- ```
950
-
951
- | Argument | Description |
952
- | --- | --- |
953
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
954
- | `<container>` | Container, by name. Required. |
955
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
956
-
957
- MCP tool: `sandboxes_containers_unlock`.
958
-
959
- ### `ghostdock sandboxes create`
960
-
961
- Create a sandbox from a snapshot, OCI image, Dockerfile or Compose files. Inline content only: for a directory or ZIP (Dockerfile COPY/ADD, Compose build files) use `ghostdock sandboxes build`. Snapshots and catalog images can require environment entries, URL ports and MCP names (requiredEnvironment / requiredUrls / requiredMcps); a missing environment entry fails with its names (missingEnvironment), and removing a required URL or MCP fails with them (missingUrls / missingMcps). Every source but a snapshot becomes a Compose project in the sandbox, run once with docker compose up -d; after that Docker is the truth. Returns once the project is up, with `boot`: how long the sandbox (VM) and the project's compose up took, each in ms, and the images it pulled. Idle-stop and auto-delete apply (defaults 20 minutes / 14 days). Read the sandboxes skill (`ghostdock skills get sandboxes`) for sources, manifests, lifecycle and providers.
962
-
963
- ```
964
- ghostdock sandboxes create --source <object> [flags]
965
- ```
966
-
967
- | Argument | Description |
968
- | --- | --- |
969
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
970
- | `--display-name <string>` | Display name for the sandbox. Optional. |
971
- | `--source <object>` | What the sandbox boots from. Required. "image" boots an org catalog row by id ({ id } from images list / images get — images add OCI bookmarks, images add-dockerfile, and images add-compose rows) or any OCI ref ({ ref }); "dockerfile" builds inline Dockerfile text only (ghostdock.* LABEL lines parsed for manifest; this tool has no build directory, so COPY/ADD of local files fails — use the CLI `ghostdock sandboxes build --kind dockerfile` with a directory or ZIP); "compose" runs the given inline files with docker compose up -d (must include docker-compose.yml/yaml or compose.yml/yaml; ghostdock.* service labels parsed for manifest). Every source but a snapshot becomes a Compose project in /srv/ghostdock/<sandbox name>, run once; an image is one service named after it, a Dockerfile the service app. A Compose project that needs extra files is not accepted here — use `ghostdock sandboxes build --kind compose`. "compose" also takes a published Compose project instead of files ({ reference: "oci://…", override? }): it runs through include:, the override merged into it. Image, dockerfile, and compose sources never appear in snapshots list. Published static sites use sites publish (CDN), not a snapshot. (JSON object) Required. |
972
- | `--restart <string>` | Restart policy of the service an image or a Dockerfile becomes, Docker's names: unless-stopped (default), always, on-failure, or no (it does not come back after the sandbox sleeps). Not for Compose: its files set restart:. |
973
- | `--resources <object>` | Compute sizing. For image/dockerfile/compose: layered on platform defaults when omitted. For snapshot: optional override applied via resize after create. (JSON object) |
974
- | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 means always on. 0 is rejected. Omit for the platform default. Provider-native timers are optional backup. |
975
- | `--lifecycle <string>` | What may make the sandbox disappear on its own. ephemeral: every stop wipes the VM and its disk, and the next start runs its Compose project again (edits in the project folder kept, everything else gone; locks too). auto_delete (default): a stop keeps the disk, and the record goes autoDeleteAfterDays after the stop. keep: never removed automatically. Omit for the image label ghostdock.ephemeral, else auto_delete. ephemeral is chosen here only. |
976
- | `--auto-delete-after-days <integer>` | Days the sandbox stays stopped before the platform worker deletes the record (0–365; 0 deletes it when it stops). Omit for the platform default (14). Not with keep. A container a person locked holds it. |
977
- | `--sandbox-provider-id <string>` | Configured sandbox-provider instance id from providers list (not the provider kind). Omit to use the organization default (the org choice, else the platform default); if that provider lacks a capability this create needs, the first listed provider that accepts new sandboxes and has it is used. When no provider fits, the call fails with a not-configured error. |
978
- | `--environment <object>` | Environment to give this sandbox. organization: names of organization entries (from env list) to export under their own names. bindings: remap org entries onto slot names ({ name: slot, organization: orgEntryName }). local: sandbox-only variables/secrets to create with the sandbox (kind required for each). Both land as ordinary process environment variables ($NAME / process.env.NAME); a local entry overrides an organization entry of the same name. When booting from an organization snapshot, omit organization/bindings/local to keep manifest env defaults, but still supply every name in requiredEnvironment (via organization, bindings, or local). Otherwise a sandbox gets nothing unless listed here. (JSON object) |
979
- | `--image-base <string>` | How the disk is made for one of Ghostdock's platform images: auto (default) clones the host's image base, a disk with the image already on it, when there is one; off always starts from an empty disk that pulls the image. For tests and comparisons; other images always start empty. |
980
- | `--urls <array>` | Changes to the image’s or snapshot’s URLs, keyed by port. Omit for the image URLs as they are; otherwise you get the image URLs plus yours: an entry on the same port replaces that URL completely (omitted fields take their defaults), and { port, remove: true } drops it; removing a port the image does not declare does nothing. A required port cannot be removed. TCP URLs are always public. (JSON array) |
981
- | `--mcps <array>` | Changes to the image’s or snapshot’s MCP exposures, keyed by name. Omit for the image MCPs as they are; otherwise you get the image MCPs plus yours: an entry with the same name replaces that MCP completely, and { name, remove: true } drops it; removing a name the image does not declare does nothing. A required MCP (requiredMcps) cannot be removed. (JSON array) |
982
-
983
- MCP tool: `sandboxes_create`.
984
-
985
- ### `ghostdock sandboxes default-container`
986
-
987
- Show, set or clear the sandbox’s default container. SSH, the terminal, files, commands and MCP land there when no container is named. Without container or clear it only shows the setting.
988
-
989
- ```
990
- ghostdock sandboxes default-container <sandbox-id> [flags]
991
- ```
992
-
993
- | Argument | Description |
994
- | --- | --- |
995
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
996
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
997
- | `--container <string>` | Container to make the default, by name. The running sandbox must have it. |
998
- | `--clear` | Clear the default. |
999
- | `--start` | Start the container first when it is not running, without asking. |
1000
-
1001
- MCP tool: `sandboxes_default_container`.
1002
-
1003
- ### `ghostdock sandboxes delete`
1004
-
1005
- Permanently delete a sandbox and its files. Refused while it has locked containers (sandbox_has_locked_containers, naming them) unless deleteLocked is true.
1006
-
1007
- ```
1008
- ghostdock sandboxes delete <sandbox-id> [flags]
1009
- ```
1010
-
1011
- | Argument | Description |
1012
- | --- | --- |
1013
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1014
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1015
- | `--delete-locked` | Delete it with its locked containers. Without it, a locked container refuses the delete. |
1016
-
1017
- MCP tool: `sandboxes_delete`.
1018
-
1019
- ### `ghostdock sandboxes env`
1020
-
1021
- Environment of one sandbox.
1022
-
1023
- ### `ghostdock sandboxes env delete`
1024
-
1025
- Delete one of a sandbox’s own variables or secrets.
1026
-
1027
- ```
1028
- ghostdock sandboxes env delete <name> --sandbox-id <string> [flags]
1029
- ```
1030
-
1031
- | Argument | Description |
1032
- | --- | --- |
1033
- | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
1034
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1035
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1036
- | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only. |
1037
-
1038
- MCP tool: `sandboxes_env_delete`.
1039
-
1040
- ### `ghostdock sandboxes env get`
1041
-
1042
- Get a sandbox’s environment: selections, bindings and local entries. Shows each organization entry with whether it is selected, exportAs, and overriddenByLocal; secret values are withheld. Nothing is inherited.
1043
-
1044
- ```
1045
- ghostdock sandboxes env get <sandbox-id> [flags]
1046
- ```
1047
-
1048
- | Argument | Description |
1049
- | --- | --- |
1050
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1051
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1052
-
1053
- MCP tool: `sandboxes_env_get`.
1054
-
1055
- ### `ghostdock sandboxes env select`
1056
-
1057
- Replace the organization entries a sandbox exports. Full replace: environment is the whole list ([] clears it), and omitting bindings clears the remaps. Running processes keep their old values until restarted (pass restart). Read the environment skill (`ghostdock skills get environment`).
1058
-
1059
- ```
1060
- ghostdock sandboxes env select <sandbox-id> --environment <array> [flags]
1061
- ```
1062
-
1063
- | Argument | Description |
1064
- | --- | --- |
1065
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1066
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1067
- | `--environment <array>` | Organization catalogue entry names to export under their own names. Pass [] to clear plain selections. (JSON array) Required. |
1068
- | `--bindings <array>` | Slot-centric org bindings: export an organization entry under a (possibly different) sandbox env name. Omit to clear existing remaps (full replace). (JSON array) |
1069
- | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only; already-running processes keep the old values until restarted. |
1070
-
1071
- MCP tool: `sandboxes_env_select`.
1072
-
1073
- ### `ghostdock sandboxes env set`
1074
-
1075
- Create or replace one of a sandbox’s own variables or secrets. It overrides an organization entry of the same name. kind is required when creating. Setting secrets via this tool is allowed; prefer the Ghostdock CLI so values stay out of the conversation, and never put them in commands.
1076
-
1077
- ```
1078
- ghostdock sandboxes env set <name> --sandbox-id <string> --value <string> [flags]
1079
- ```
1080
-
1081
- | Argument | Description |
1082
- | --- | --- |
1083
- | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
1084
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1085
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1086
- | `--value <string>` | The value to store. A secret value can be replaced later but never read back. Required. |
1087
- | `--kind <string>` | Required when creating. Use "secret" for credentials; secret values can be replaced but never read back. Omit when updating to keep the existing kind. |
1088
- | `--comment <string>` | Optional note shown with the entry, e.g. what it is for. |
1089
- | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only. |
1090
-
1091
- MCP tool: `sandboxes_env_set`.
1092
-
1093
- ### `ghostdock sandboxes files`
1094
-
1095
- Files inside a sandbox.
1096
-
1097
- ### `ghostdock sandboxes files list`
1098
-
1099
- List the files in a sandbox directory. Default: the container's start folder (its dir).
1100
-
1101
- ```
1102
- ghostdock sandboxes files list <sandbox-id> [flags]
1103
- ```
1104
-
1105
- | Argument | Description |
1106
- | --- | --- |
1107
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1108
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1109
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
1110
- | `--path <string>` | Directory to list: absolute, or relative to the container's start folder (its dir: the login user's home, else WORKDIR, else /). Defaults to that folder. |
1111
- | `--start` | Start the container first when it is not running, without asking. |
1112
-
1113
- MCP tool: `sandboxes_files_list`.
1114
-
1115
- ### `ghostdock sandboxes files read`
1116
-
1117
- Read a file from a sandbox: utf8 text, or base64 for small binaries.
1118
-
1119
- ```
1120
- ghostdock sandboxes files read <path> --sandbox-id <string> [flags]
1121
- ```
1122
-
1123
- | Argument | Description |
1124
- | --- | --- |
1125
- | `<path>` | File path: absolute, or relative to the container's start folder (for example src/App.vue). Required. |
1126
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1127
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1128
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
1129
- | `--start` | Start the container first when it is not running, without asking. |
1130
-
1131
- MCP tool: `sandboxes_files_read`.
1132
-
1133
- ### `ghostdock sandboxes files upload`
1134
-
1135
- Upload local files or directories to a sandbox's container, into its start folder (the login user's home, else WORKDIR, else /).
1136
-
1137
- ```
1138
- ghostdock sandboxes files upload <sandbox-id> [path] [flags]
1139
- ```
1140
-
1141
- | Argument | Description |
1142
- | --- | --- |
1143
- | `<sandbox-id>` | Sandbox name or id. Required. |
1144
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
1145
- | `--container <value>` | Container the files land in, by name, from `ghostdock sandboxes containers list`. Default: the sandbox's default container, else the one running container. |
1146
- | `--start` | Start the container first when it is not running, without asking. |
1147
- | `--zip <value>` | Local ZIP file to upload. |
1148
- | `<path>` | File or directory to upload (additional paths are allowed). |
1149
-
1150
- MCP tool: `sandboxes_files_upload`.
1151
-
1152
- ### `ghostdock sandboxes list`
1153
-
1154
- List the sandboxes of an organization, with their lifecycle and deadlines. Each has a name (e.g. quiet-harbor), unique in the organization, that every sandbox tool accepts as sandboxId.
1155
-
1156
- ```
1157
- ghostdock sandboxes list [flags]
1158
- ```
1159
-
1160
- | Argument | Description |
1161
- | --- | --- |
1162
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1163
-
1164
- MCP tool: `sandboxes_list`.
1165
-
1166
- ### `ghostdock sandboxes mcps`
1167
-
1168
- MCP endpoints a sandbox exposes.
1169
-
1170
- ### `ghostdock sandboxes mcps create`
1171
-
1172
- Expose an MCP server running in a sandbox. Idempotent by name.
1173
-
1174
- ```
1175
- ghostdock sandboxes mcps create <sandbox-id> --name <string> --port <integer> [flags]
1176
- ```
1177
-
1178
- | Argument | Description |
1179
- | --- | --- |
1180
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1181
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1182
- | `--name <string>` | Endpoint name, unique in the sandbox. Letters, digits, _ and -, starting with a letter. Required. |
1183
- | `--port <integer>` | Port the MCP server listens on inside the sandbox. Required. |
1184
- | `--path <string>` | HTTP path of the MCP endpoint. Default /mcp. |
1185
- | `--auto-wake` | Start the sandbox when the endpoint is called while it is stopped. Default false. |
1186
-
1187
- MCP tool: `sandboxes_mcps_create`.
1188
-
1189
- ### `ghostdock sandboxes mcps delete`
1190
-
1191
- Delete an MCP endpoint of a sandbox.
1192
-
1193
- ```
1194
- ghostdock sandboxes mcps delete <mcp-id>
1195
- ```
1196
-
1197
- | Argument | Description |
1198
- | --- | --- |
1199
- | `<mcp-id>` | MCP endpoint id, from sandboxes mcps list or sandboxes mcps create. Required. |
1200
-
1201
- MCP tool: `sandboxes_mcps_delete`.
1202
-
1203
- ### `ghostdock sandboxes mcps list`
1204
-
1205
- List the MCP endpoints a sandbox exposes (name, port, path, autoWake).
1206
-
1207
- ```
1208
- ghostdock sandboxes mcps list <sandbox-id> [flags]
1209
- ```
1210
-
1211
- | Argument | Description |
1212
- | --- | --- |
1213
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1214
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1215
-
1216
- MCP tool: `sandboxes_mcps_list`.
1217
-
1218
- ### `ghostdock sandboxes mcps update`
1219
-
1220
- Change an MCP endpoint’s name, port, path or autoWake setting.
1221
-
1222
- ```
1223
- ghostdock sandboxes mcps update <mcp-id> [flags]
1224
- ```
1225
-
1226
- | Argument | Description |
1227
- | --- | --- |
1228
- | `<mcp-id>` | MCP endpoint id, from sandboxes mcps list or sandboxes mcps create. Required. |
1229
- | `--name <string>` | New endpoint name. Omit to keep it. |
1230
- | `--port <integer>` | New port inside the sandbox. Omit to keep it. |
1231
- | `--path <string>` | New HTTP path. Omit to keep it. |
1232
- | `--auto-wake` | Start the sandbox when the endpoint is called while it is stopped. Omit to keep it. |
1233
-
1234
- MCP tool: `sandboxes_mcps_update`.
1235
-
1236
- ### `ghostdock sandboxes resize`
1237
-
1238
- Change a sandbox’s CPU and/or memory. While running only increases are allowed; stop it first to decrease (this tool does not stop it). Disk: sandboxes resize-disk.
1239
-
1240
- ```
1241
- ghostdock sandboxes resize <sandbox-id> [flags]
1242
- ```
1243
-
1244
- | Argument | Description |
1245
- | --- | --- |
1246
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1247
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1248
- | `--cpu <number>` | Number of CPUs. |
1249
- | `--memory-gib <number>` | Memory in GiB. |
1250
-
1251
- MCP tool: `sandboxes_resize`.
1252
-
1253
- ### `ghostdock sandboxes resize-disk`
1254
-
1255
- Grow a sandbox’s disk. The sandbox must be stopped first (this tool does not stop it). Disk only grows, never shrinks.
1256
-
1257
- ```
1258
- ghostdock sandboxes resize-disk <sandbox-id> --disk-gib <number> [flags]
1259
- ```
1260
-
1261
- | Argument | Description |
1262
- | --- | --- |
1263
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1264
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1265
- | `--disk-gib <number>` | New total disk size in GiB; must be larger than the current size. Required. |
1266
-
1267
- MCP tool: `sandboxes_resize_disk`.
1268
-
1269
- ### `ghostdock sandboxes shells`
1270
-
1271
- Shell sessions that keep cwd and environment between commands.
1272
-
1273
- ### `ghostdock sandboxes shells close`
1274
-
1275
- Close a shell session.
1276
-
1277
- ```
1278
- ghostdock sandboxes shells close <session-id> --sandbox-id <string> [flags]
1279
- ```
1280
-
1281
- | Argument | Description |
1282
- | --- | --- |
1283
- | `<session-id>` | Session id from sandboxes shells create. Required. |
1284
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1285
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1286
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
1287
- | `--start` | Start the container first when it is not running, without asking. |
1288
-
1289
- MCP tool: `sandboxes_shells_close`.
1290
-
1291
- ### `ghostdock sandboxes shells create`
1292
-
1293
- Open a shell session that keeps cwd and environment between commands. Starts the sandbox when allowed; the session ends at idle-stop.
1294
-
1295
- ```
1296
- ghostdock sandboxes shells create <sandbox-id> [flags]
1297
- ```
1298
-
1299
- | Argument | Description |
1300
- | --- | --- |
1301
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1302
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1303
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
1304
- | `--session-id <string>` | Id for the new session: a slug. Omit to generate one. |
1305
- | `--start` | Start the container first when it is not running, without asking. |
1306
-
1307
- MCP tool: `sandboxes_shells_create`.
1308
-
1309
- ### `ghostdock sandboxes ssh`
1310
-
1311
- SSH access to a sandbox.
1312
-
1313
- ### `ghostdock sandboxes ssh get`
1314
-
1315
- Get temporary SSH access to a sandbox (command and token, 60 minutes). Starts the sandbox when needed. Idle-stop still applies, independent of the token.
1316
-
1317
- ```
1318
- ghostdock sandboxes ssh get <sandbox-id> [flags]
1319
- ```
1320
-
1321
- | Argument | Description |
1322
- | --- | --- |
1323
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1324
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1325
- | `--container <string>` | Container to work in, by name, from sandboxes containers list. Default: the sandbox’s default container, else the one running container. With several running and no default the call fails and lists them. |
1326
- | `--start` | Start the container first when it is not running, without asking. |
1327
-
1328
- MCP tool: `sandboxes_ssh_get`.
1329
-
1330
- ### `ghostdock sandboxes ssh revoke`
1331
-
1332
- Revoke a sandbox’s active SSH access.
1333
-
1334
- ```
1335
- ghostdock sandboxes ssh revoke <sandbox-id> [flags]
1336
- ```
1337
-
1338
- | Argument | Description |
1339
- | --- | --- |
1340
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1341
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1342
-
1343
- MCP tool: `sandboxes_ssh_revoke`.
1344
-
1345
- ### `ghostdock sandboxes status`
1346
-
1347
- Get a sandbox’s status and lifecycle deadlines without waking it. Returns idleStopsAt, deletesAt and `boot` (the last start: sandbox and container times in ms) and does not reset idle activity.
1348
-
1349
- ```
1350
- ghostdock sandboxes status <sandbox-id> [flags]
1351
- ```
1352
-
1353
- | Argument | Description |
1354
- | --- | --- |
1355
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1356
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1357
-
1358
- MCP tool: `sandboxes_status`.
1359
-
1360
- ### `ghostdock sandboxes stop`
1361
-
1362
- Stop a running sandbox without deleting its files.
1363
-
1364
- ```
1365
- ghostdock sandboxes stop <sandbox-id> [flags]
1366
- ```
1367
-
1368
- | Argument | Description |
1369
- | --- | --- |
1370
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1371
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1372
-
1373
- MCP tool: `sandboxes_stop`.
1374
-
1375
- ### `ghostdock sandboxes storage`
1376
-
1377
- ### `ghostdock sandboxes storage delete`
1378
-
1379
- Delete a named volume or a top-level sandbox folder, with everything in it. Refused while a container mounts it (in any state: a stopped one counts, so stopping does not help), mounts a folder above it (a bind of /), or a volume keeps its data in the folder: remove those first.
1380
-
1381
- ```
1382
- ghostdock sandboxes storage delete <sandbox-id> --kind <string> --name <string> [flags]
1383
- ```
1384
-
1385
- | Argument | Description |
1386
- | --- | --- |
1387
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1388
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1389
- | `--kind <string>` | volume or folder. Required. |
1390
- | `--name <string>` | The volume’s name, or the folder’s path in the sandbox (/srv, not /srv/app). Required. |
1391
-
1392
- MCP tool: `sandboxes_storage_delete`.
1393
-
1394
- ### `ghostdock sandboxes storage list`
1395
-
1396
- List a sandbox’s volumes and sandbox folders. The sandbox folders are where bind mounts land. Each with its size and sizeState (measured; measuring: ask again in a few seconds; tooBig: too big to measure cheaply; outside: a volume bound outside the sandbox folders, not measured nor browsable) and the containers using it, plus every container’s mounts. truncated says entries were left out. A stopped sandbox lists none (it is not started for this).
1397
-
1398
- ```
1399
- ghostdock sandboxes storage list <sandbox-id> [flags]
1400
- ```
1401
-
1402
- | Argument | Description |
1403
- | --- | --- |
1404
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1405
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1406
-
1407
- MCP tool: `sandboxes_storage_list`.
1408
-
1409
- ### `ghostdock sandboxes tools`
1410
-
1411
- Tools of the MCP servers inside a sandbox.
1412
-
1413
- ### `ghostdock sandboxes tools call`
1414
-
1415
- Call a tool on an MCP server inside a sandbox. Wakes a stopped sandbox when the endpoint has autoWake.
1416
-
1417
- ```
1418
- ghostdock sandboxes tools call <name> --sandbox-id <string> --arguments <object> [flags]
1419
- ```
1420
-
1421
- | Argument | Description |
1422
- | --- | --- |
1423
- | `<name>` | Tool name, from sandboxes tools list. Required. |
1424
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1425
- | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1426
- | `--arguments <object>` | Tool arguments as a JSON object. (JSON object) Required. |
1427
- | `--mcp-name <string>` | MCP endpoint to call. Needed when several endpoints expose the same tool name. |
1428
-
1429
- MCP tool: `sandboxes_tools_call`.
1430
-
1431
- ### `ghostdock sandboxes tools list`
1432
-
1433
- List the tools of the MCP servers a sandbox exposes. A server that cannot be reached is reported in errors; the others are still listed.
1434
-
1435
- ```
1436
- ghostdock sandboxes tools list <sandbox-id> [flags]
1437
- ```
1438
-
1439
- | Argument | Description |
1440
- | --- | --- |
1441
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1442
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1443
- | `--mcp-name <string>` | Only list the tools of this MCP endpoint. |
1444
-
1445
- MCP tool: `sandboxes_tools_list`.
1446
-
1447
- ### `ghostdock sandboxes update`
1448
-
1449
- Change a sandbox’s display name, idle-stop interval or lifecycle. Omit a field to keep it; null resets it to the platform default. Ephemeral is chosen at create only.
1450
-
1451
- ```
1452
- ghostdock sandboxes update <sandbox-id> [flags]
1453
- ```
1454
-
1455
- | Argument | Description |
1456
- | --- | --- |
1457
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1458
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1459
- | `--display-name <string>` | New display name. Null clears it; omit to keep it. |
1460
- | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 always on. 0 is rejected. Null resets to the platform default. Provider-native timers are optional backup. |
1461
- | `--lifecycle <string>` | auto_delete: the record goes autoDeleteAfterDays after the sandbox stops. keep: never removed automatically. |
1462
- | `--auto-delete-after-days <integer>` | Days stopped before the record is deleted (0–365; 0 deletes it when it stops). Null writes the platform default. Not with keep. |
1463
-
1464
- MCP tool: `sandboxes_update`.
1465
-
1466
- ### `ghostdock sandboxes urls`
1467
-
1468
- URLs that expose sandbox ports.
1469
-
1470
- ### `ghostdock sandboxes urls create`
1471
-
1472
- Expose a sandbox port as a URL. Idempotent by port: when the sandbox already has a URL on that port, it is returned unchanged (autoWake, public and title are not applied); use sandboxes urls update to change it. HTTP defaults to private with no wake-on-visit; TCP URLs use TLS (not HTTP) and are always public — for a private port use sandboxes ssh get and an SSH forward. Read the sandboxes skill (`ghostdock skills get sandboxes`) for TCP clients.
1473
-
1474
- ```
1475
- ghostdock sandboxes urls create <sandbox-id> --port <integer> [flags]
1476
- ```
1477
-
1478
- | Argument | Description |
1479
- | --- | --- |
1480
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1481
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1482
- | `--port <integer>` | Port inside the sandbox to expose. Required. |
1483
- | `--protocol <string>` | "http" (default) or "tcp". TCP URLs use TLS and are always public. |
1484
- | `--auto-wake` | Start the sandbox when the URL is visited while it is stopped. Default false. |
1485
- | `--public` | Reachable without signing in. Default false; TCP URLs are always public. |
1486
- | `--title <string>` | Name shown for the URL, up to 40 characters. A titled HTTP URL gets its own button on the sandbox card; TCP titles are shown in URL lists. Untitled HTTP URLs are listed under "Open URL". |
1487
-
1488
- MCP tool: `sandboxes_urls_create`.
1489
-
1490
- ### `ghostdock sandboxes urls delete`
1491
-
1492
- Delete a sandbox URL.
1493
-
1494
- ```
1495
- ghostdock sandboxes urls delete <url-id>
1496
- ```
1497
-
1498
- | Argument | Description |
1499
- | --- | --- |
1500
- | `<url-id>` | Sandbox URL id, from sandboxes urls list or sandboxes urls create. Required. |
1501
-
1502
- MCP tool: `sandboxes_urls_delete`.
1503
-
1504
- ### `ghostdock sandboxes urls list`
1505
-
1506
- List the URLs that expose a sandbox’s ports, with protocol, access and title. A titled URL (for example `Desktop`, the desktop image’s desktop in a browser) gets its own button in the app.
1507
-
1508
- ```
1509
- ghostdock sandboxes urls list <sandbox-id> [flags]
1510
- ```
1511
-
1512
- | Argument | Description |
1513
- | --- | --- |
1514
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1515
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1516
-
1517
- MCP tool: `sandboxes_urls_list`.
1518
-
1519
- ### `ghostdock sandboxes urls update`
1520
-
1521
- Change a sandbox URL’s port, protocol, autoWake, public setting or title. TCP cannot be private.
1522
-
1523
- ```
1524
- ghostdock sandboxes urls update <url-id> [flags]
1525
- ```
1526
-
1527
- | Argument | Description |
1528
- | --- | --- |
1529
- | `<url-id>` | Sandbox URL id, from sandboxes urls list or sandboxes urls create. Required. |
1530
- | `--port <integer>` | New port inside the sandbox. Omit to keep it. |
1531
- | `--protocol <string>` | "http" or "tcp". Omit to keep the current protocol. |
1532
- | `--auto-wake` | Start the sandbox when the URL is visited while it is stopped. Omit to keep it. |
1533
- | `--public` | Reachable without signing in. Omit to keep it; TCP cannot be made private. |
1534
- | `--title <string>` | Name shown for the URL, up to 40 characters. A titled HTTP URL gets its own button on the sandbox card; TCP titles are shown in URL lists. Untitled HTTP URLs are listed under "Open URL". Omit to keep it; null removes it. |
1535
-
1536
- MCP tool: `sandboxes_urls_update`.
1537
-
1538
- ### `ghostdock sandboxes wake`
1539
-
1540
- Start a stopped sandbox, or reset the idle-stop countdown of a running one. Returns status, idleStopsAt / deletesAt, and `boot` (sandbox and container start times in ms; null when it was already running).
1541
-
1542
- ```
1543
- ghostdock sandboxes wake <sandbox-id> [flags]
1544
- ```
1545
-
1546
- | Argument | Description |
1547
- | --- | --- |
1548
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1549
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1550
-
1551
- MCP tool: `sandboxes_wake`.
1552
-
1553
- ## `ghostdock sites`
1554
-
1555
- Static sites on the CDN.
1556
-
1557
- ### `ghostdock sites publish`
1558
-
1559
- Publish a local directory or ZIP to the CDN.
1560
-
1561
- ```
1562
- ghostdock sites publish [path] [flags]
1563
- ```
1564
-
1565
- | Argument | Description |
1566
- | --- | --- |
1567
- | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
1568
- | `--display-name <value>` | Optional site display name. |
1569
- | `--zip <value>` | Local ZIP file to publish. |
1570
- | `<path>` | File or directory to publish (additional paths are allowed). |
1571
-
1572
- MCP tool: `sites_publish`.
1573
-
1574
- ### `ghostdock sites unpublish`
1575
-
1576
- Take a published static site offline.
1577
-
1578
- ```
1579
- ghostdock sites unpublish <site-id> [flags]
1580
- ```
1581
-
1582
- | Argument | Description |
1583
- | --- | --- |
1584
- | `<site-id>` | Site id: the slug in the public URL, as returned by sites publish or apps list. Required. |
1585
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1586
-
1587
- MCP tool: `sites_unpublish`.
1588
-
1589
- ## `ghostdock skills`
1590
-
1591
- List and read Agent Skills (same catalog as MCP skill://index.json).
1592
-
1593
- ### `ghostdock skills get`
1594
-
1595
- Print one SKILL.md (URI from the discovery index, or a skill name).
1596
-
1597
- ```
1598
- ghostdock skills get <uri>
1599
- ```
1600
-
1601
- | Argument | Description |
1602
- | --- | --- |
1603
- | `<uri>` | skill:// URI, org/name, or skill name. Required. |
1604
-
1605
- MCP tool: `skills_get`.
1606
-
1607
- ### `ghostdock skills list`
1608
-
1609
- List the Agent Skills discovery index.
1610
-
1611
- ```
1612
- ghostdock skills list
1613
- ```
1614
-
1615
- MCP tool: `skills_list`.
1616
-
1617
- ## `ghostdock snapshots`
1618
-
1619
- Sandbox snapshots.
1620
-
1621
- ### `ghostdock snapshots create`
1622
-
1623
- Save a sandbox’s filesystem as a reusable organization snapshot. The sandbox must be stopped, unless stopAndResume. Captures its URLs and environment into a manifest (secrets as required, without values). Waits up to ~120 seconds; if still pending it returns timedOut, then poll snapshots get. Setting secret values here is allowed; prefer the Ghostdock CLI so they stay out of the conversation.
1624
-
1625
- ```
1626
- ghostdock snapshots create <sandbox-id> --name <string> [flags]
1627
- ```
1628
-
1629
- | Argument | Description |
1630
- | --- | --- |
1631
- | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1632
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1633
- | `--name <string>` | Snapshot name, unique in the organization. Required. |
1634
- | `--stop-and-resume` | When the sandbox is running: stop it, snapshot, then start it again. Without this it must already be stopped. |
1635
- | `--include-secret-values <array>` | Names of sandbox-local secrets whose values to embed in the snapshot. Organization secrets cannot be copied. (JSON array) |
1636
- | `--manifest <object>` | Replaces the captured URLs and environment entirely (no merge). An omitted ephemeral is copied from the sandbox. Secret values are stored encrypted. (JSON object) |
1637
-
1638
- MCP tool: `snapshots_create`.
1639
-
1640
- ### `ghostdock snapshots delete`
1641
-
1642
- Permanently delete an organization snapshot (provider artifact and record).
1643
-
1644
- ```
1645
- ghostdock snapshots delete <snapshot-id> [flags]
1646
- ```
1647
-
1648
- | Argument | Description |
1649
- | --- | --- |
1650
- | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1651
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1652
-
1653
- MCP tool: `snapshots_delete`.
1654
-
1655
- ### `ghostdock snapshots get`
1656
-
1657
- Get one snapshot with its manifest and required environment, URLs and MCPs. Returns a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. Poll it after snapshots create while status is pending.
1658
-
1659
- ```
1660
- ghostdock snapshots get <snapshot-id> [flags]
1661
- ```
1662
-
1663
- | Argument | Description |
1664
- | --- | --- |
1665
- | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1666
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1667
-
1668
- MCP tool: `snapshots_get`.
1669
-
1670
- ### `ghostdock snapshots list`
1671
-
1672
- List the snapshots an organization can boot sandboxes from. Each item has status (pending, active, error), the provider that holds it (sandboxProviderId; boot it there), sandboxCount, and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps.
1673
-
1674
- ```
1675
- ghostdock snapshots list [flags]
1676
- ```
1677
-
1678
- | Argument | Description |
1679
- | --- | --- |
1680
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1681
-
1682
- MCP tool: `snapshots_list`.
1683
-
1684
- ### `ghostdock snapshots update-manifest`
1685
-
1686
- Replace a snapshot’s manifest (URLs, environment, MCPs). Does not change the snapshot itself. Secret values in the body are stored encrypted; the response is redacted. Setting secret values here is allowed; prefer the Ghostdock CLI so they stay out of the conversation.
1687
-
1688
- ```
1689
- ghostdock snapshots update-manifest <snapshot-id> --manifest <object> [flags]
1690
- ```
1691
-
1692
- | Argument | Description |
1693
- | --- | --- |
1694
- | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1695
- | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1696
- | `--manifest <object>` | The new manifest; replaces the stored one. An omitted ephemeral keeps the stored value. Secret values are stored encrypted. (JSON object) Required. |
1697
-
1698
- MCP tool: `snapshots_update_manifest`.
1699
-
1700
- ## `ghostdock tools`
1701
-
1702
- List available agent tools.
1703
-
1704
- ```
1705
- ghostdock tools
1706
- ```
1707
-
1708
- ## `ghostdock whoami`
1709
-
1710
- Show the account this CLI is currently authenticated as.
1711
-
1712
- ```
1713
- ghostdock whoami
1714
- ```