Skip to content

Commit 1530af1

Browse files
Deploying to gh-pages from @ dstackai/dstack@2410c47 🚀
1 parent fb5cad0 commit 1530af1

File tree

17 files changed

+214
-143
lines changed

17 files changed

+214
-143
lines changed

assets/images/social/examples.png

-319 Bytes
Loading

assets/images/social/index.png

4.91 KB
Loading

docs/concepts/backends.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,10 +1105,27 @@ projects:
11051105
</div>
11061106

11071107
??? info "Community Cloud"
1108-
By default, `dstack` considers instance offers from both the Secure Cloud and the
1109-
[Community Cloud](https://docs.runpod.io/references/faq/#secure-cloud-vs-community-cloud).
1108+
By default, `dstack` considers instance offers only from the Secure Cloud.
1109+
To also include the
1110+
[Community Cloud](https://docs.runpod.io/references/faq/#secure-cloud-vs-community-cloud),
1111+
set `community_cloud: true` in the backend settings.
11101112

1111-
You can tell them apart by their regions.
1113+
<div editor-title="~/.dstack/server/config.yml">
1114+
1115+
```yaml
1116+
projects:
1117+
- name: main
1118+
backends:
1119+
- type: runpod
1120+
creds:
1121+
type: api_key
1122+
api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9
1123+
community_cloud: true
1124+
```
1125+
1126+
</div>
1127+
1128+
You can tell Secure Cloud and Community Cloud apart by their regions.
11121129
Secure Cloud regions contain datacenter IDs such as `CA-MTL-3`.
11131130
Community Cloud regions contain country codes such as `CA`.
11141131

@@ -1124,23 +1141,6 @@ projects:
11241141

11251142
</div>
11261143

1127-
If you don't want to use the Community Cloud, set `community_cloud: false` in the backend settings.
1128-
1129-
<div editor-title="~/.dstack/server/config.yml">
1130-
1131-
```yaml
1132-
projects:
1133-
- name: main
1134-
backends:
1135-
- type: runpod
1136-
creds:
1137-
type: api_key
1138-
api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9
1139-
community_cloud: false
1140-
```
1141-
1142-
</div>
1143-
11441144
### Vast.ai
11451145

11461146
Log into your [Vast.ai](https://cloud.vast.ai/) account, click Account in the sidebar, and copy your

docs/concepts/backends/index.html

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5502,20 +5502,10 @@ <h3 id="runpod">RunPod<a class="headerlink" href="#runpod" title="Permanent link
55025502

55035503
<details class="info">
55045504
<summary>Community Cloud</summary>
5505-
<p>By default, <code>dstack</code> considers instance offers from both the Secure Cloud and the
5506-
<a href="https://docs.runpod.io/references/faq/#secure-cloud-vs-community-cloud">Community Cloud</a>.</p>
5507-
<p>You can tell them apart by their regions.
5508-
Secure Cloud regions contain datacenter IDs such as <code>CA-MTL-3</code>.
5509-
Community Cloud regions contain country codes such as <code>CA</code>.</p>
5510-
<div class="termy">
5511-
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>dstack<span class="w"> </span>apply<span class="w"> </span>-f<span class="w"> </span>.dstack.yml<span class="w"> </span>-b<span class="w"> </span>runpod
5512-
5513-
<span class="w"> </span><span class="c1"># BACKEND REGION INSTANCE SPOT PRICE</span>
5514-
<span class="w"> </span><span class="m">1</span><span class="w"> </span>runpod<span class="w"> </span>CA<span class="w"> </span>NVIDIA<span class="w"> </span>A100<span class="w"> </span>80GB<span class="w"> </span>PCIe<span class="w"> </span>yes<span class="w"> </span><span class="nv">$0</span>.6
5515-
<span class="w"> </span><span class="m">2</span><span class="w"> </span>runpod<span class="w"> </span>CA-MTL-3<span class="w"> </span>NVIDIA<span class="w"> </span>A100<span class="w"> </span>80GB<span class="w"> </span>PCIe<span class="w"> </span>yes<span class="w"> </span><span class="nv">$0</span>.82
5516-
</code></pre></div>
5517-
</div>
5518-
<p>If you don't want to use the Community Cloud, set <code>community_cloud: false</code> in the backend settings.</p>
5505+
<p>By default, <code>dstack</code> considers instance offers only from the Secure Cloud.
5506+
To also include the
5507+
<a href="https://docs.runpod.io/references/faq/#secure-cloud-vs-community-cloud">Community Cloud</a>,
5508+
set <code>community_cloud: true</code> in the backend settings.</p>
55195509
<div editor-title="~/.dstack/server/config.yml">
55205510
<div class="highlight"><pre><span></span><code><span class="nt">projects</span><span class="p">:</span>
55215511
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">main</span>
@@ -5524,7 +5514,18 @@ <h3 id="runpod">RunPod<a class="headerlink" href="#runpod" title="Permanent link
55245514
<span class="w"> </span><span class="nt">creds</span><span class="p">:</span>
55255515
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">api_key</span>
55265516
<span class="w"> </span><span class="nt">api_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9</span>
5527-
<span class="w"> </span><span class="nt">community_cloud</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
5517+
<span class="w"> </span><span class="nt">community_cloud</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
5518+
</code></pre></div>
5519+
</div>
5520+
<p>You can tell Secure Cloud and Community Cloud apart by their regions.
5521+
Secure Cloud regions contain datacenter IDs such as <code>CA-MTL-3</code>.
5522+
Community Cloud regions contain country codes such as <code>CA</code>.</p>
5523+
<div class="termy">
5524+
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>dstack<span class="w"> </span>apply<span class="w"> </span>-f<span class="w"> </span>.dstack.yml<span class="w"> </span>-b<span class="w"> </span>runpod
5525+
5526+
<span class="w"> </span><span class="c1"># BACKEND REGION INSTANCE SPOT PRICE</span>
5527+
<span class="w"> </span><span class="m">1</span><span class="w"> </span>runpod<span class="w"> </span>CA<span class="w"> </span>NVIDIA<span class="w"> </span>A100<span class="w"> </span>80GB<span class="w"> </span>PCIe<span class="w"> </span>yes<span class="w"> </span><span class="nv">$0</span>.6
5528+
<span class="w"> </span><span class="m">2</span><span class="w"> </span>runpod<span class="w"> </span>CA-MTL-3<span class="w"> </span>NVIDIA<span class="w"> </span>A100<span class="w"> </span>80GB<span class="w"> </span>PCIe<span class="w"> </span>yes<span class="w"> </span><span class="nv">$0</span>.82
55285529
</code></pre></div>
55295530
</div>
55305531
</details>

docs/concepts/services.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ $ dstack ps --verbose
290290

291291
</div>
292292

293-
??? info "Probe statuses"
293+
??? info "Status"
294294
The following symbols are used for probe statuses:
295295

296296
- `×` &mdash; the last probe execution failed.
@@ -328,6 +328,11 @@ Probes are executed for each service replica while the replica is `running`. A p
328328

329329
</div>
330330

331+
??? info "Model"
332+
If you set the [`model`](#model) property but don't explicitly configure `probes`,
333+
`dstack` automatically configures a default probe that tests the model using the `/v1/chat/completions` API.
334+
To disable probes entirely when `model` is set, explicitly set `probes` to an empty list.
335+
331336
See the [reference](../reference/dstack.yml/service.md#probes) for more probe configuration options.
332337

333338
### Path prefix { #path-prefix }
@@ -425,6 +430,9 @@ Limits apply to the whole service (all replicas) and per client (by IP). Clients
425430
If the service runs a model with an OpenAI-compatible interface, you can set the [`model`](#model) property to make the model accessible through `dstack`'s chat UI on the `Models` page.
426431
In this case, `dstack` will use the service's `/v1/chat/completions` service.
427432

433+
When `model` is set, `dstack` automatically configures [`probes`](#probes) to verify model health.
434+
To customize or disable this, set `probes` explicitly.
435+
428436
### Resources
429437

430438
If you specify memory size, you can either specify an explicit size (e.g. `24GB`) or a

docs/concepts/services/index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4912,7 +4912,7 @@ <h3 id="probes">Probes<a class="headerlink" href="#probes" title="Permanent link
49124912
</div>
49134913

49144914
<details class="info">
4915-
<summary>Probe statuses</summary>
4915+
<summary>Status</summary>
49164916
<p>The following symbols are used for probe statuses:</p>
49174917
<ul>
49184918
<li><code>×</code> &mdash; the last probe execution failed.</li>
@@ -4946,6 +4946,12 @@ <h3 id="probes">Probes<a class="headerlink" href="#probes" title="Permanent link
49464946
</code></pre></div>
49474947
</div>
49484948
</details>
4949+
<details class="info">
4950+
<summary>Model</summary>
4951+
<p>If you set the <a href="#model"><code>model</code></a> property but don't explicitly configure <code>probes</code>,
4952+
<code>dstack</code> automatically configures a default probe that tests the model using the <code>/v1/chat/completions</code> API.
4953+
To disable probes entirely when <code>model</code> is set, explicitly set <code>probes</code> to an empty list.</p>
4954+
</details>
49494955
<p>See the <a href="../../reference/dstack.yml/service/#probes">reference</a> for more probe configuration options.</p>
49504956
<h3 id="path-prefix">Path prefix<a class="headerlink" href="#path-prefix" title="Permanent link">&para;</a></h3>
49514957
<p>If your <code>dstack</code> project doesn't have a <a href="../gateways/">gateway</a>, services are hosted with the
@@ -5027,6 +5033,8 @@ <h3 id="rate-limits">Rate limits<a class="headerlink" href="#rate-limits" title=
50275033
<h3 id="model">Model<a class="headerlink" href="#model" title="Permanent link">&para;</a></h3>
50285034
<p>If the service runs a model with an OpenAI-compatible interface, you can set the <a href="#model"><code>model</code></a> property to make the model accessible through <code>dstack</code>'s chat UI on the <code>Models</code> page.
50295035
In this case, <code>dstack</code> will use the service's <code>/v1/chat/completions</code> service.</p>
5036+
<p>When <code>model</code> is set, <code>dstack</code> automatically configures <a href="#probes"><code>probes</code></a> to verify model health.
5037+
To customize or disable this, set <code>probes</code> explicitly.</p>
50305038
<h3 id="resources">Resources<a class="headerlink" href="#resources" title="Permanent link">&para;</a></h3>
50315039
<p>If you specify memory size, you can either specify an explicit size (e.g. <code>24GB</code>) or a
50325040
range (e.g. <code>24GB..</code>, or <code>24GB..80GB</code>, or <code>..80GB</code>).</p>

docs/installation.md

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -109,30 +109,6 @@ Once the server is up, you can access it via the `dstack` CLI.
109109
(or `Use Git and optional Unix tools from the Command Prompt`), and
110110
`Use bundled OpenSSH`.
111111

112-
### Configure the default project
113-
114-
To point the CLI to the `dstack` server, configure it
115-
with the server address, user token, and project name:
116-
117-
<div class="termy">
118-
119-
```shell
120-
$ dstack project add \
121-
--name main \
122-
--url http://127.0.0.1:3000 \
123-
--token bbae0f28-d3dd-4820-bf61-8f4bb40815da
124-
125-
Configuration is updated at ~/.dstack/config.yml
126-
```
127-
128-
</div>
129-
130-
This configuration is stored in `~/.dstack/config.yml`.
131-
132-
<!-- ### Check offers -->
133-
134-
<!-- To verify that both the server and CLI are properly configured, use the [`dstack offer`](reference/cli/dstack/offer.md#list-gpu-offers) command to list available GPU offers. If you don't see valid offers, ensure you've set up [backends](concepts/backends.md). -->
135-
136112
??? info "Shell autocompletion"
137113

138114
`dstack` supports shell autocompletion for `bash` and `zsh`.
@@ -199,9 +175,41 @@ This configuration is stored in `~/.dstack/config.yml`.
199175
> If you get an error similar to `2: command not found: compdef`, then add the following line to the beginning of your `~/.zshrc` file:
200176
> `autoload -Uz compinit && compinit`.
201177

178+
### Configure the default project
179+
180+
To point the CLI to the `dstack` server, configure it
181+
with the server address, user token, and project name:
182+
183+
<div class="termy">
184+
185+
```shell
186+
$ dstack project add \
187+
--name main \
188+
--url http://127.0.0.1:3000 \
189+
--token bbae0f28-d3dd-4820-bf61-8f4bb40815da
190+
191+
Configuration is updated at ~/.dstack/config.yml
192+
```
193+
194+
</div>
195+
196+
This configuration is stored in `~/.dstack/config.yml`.
197+
198+
### Install agent skills
199+
200+
Install [skills](https://skills.sh/dstackai/dstack/dstack) to help AI agents use the `dstack` CLI and edit configuration files.
201+
202+
<div class="termy">
203+
204+
```shell
205+
$ npx skills add dstackai/dstack
206+
```
207+
208+
</div>
209+
210+
Agent skills are experimental. Share your feedback via [GitHub issues](https://github.com/dstackai/dstack/issues).
211+
202212
!!! info "What's next?"
203213
1. See [Backends](concepts/backends.md)
204214
2. Follow [Quickstart](quickstart.md)
205215
3. Check the [server deployment](guides/server-deployment.md) guide
206-
4. Browse [examples](../examples.md)
207-
5. Join the community via [Discord](https://discord.gg/u8SmfwPpMd)

docs/installation/index.html

Lines changed: 52 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,19 @@
732732
</span>
733733
</a>
734734

735+
</li>
736+
737+
<li class="md-nav__item">
738+
<a href="#install-agent-skills" class="md-nav__link">
739+
<span class="md-ellipsis">
740+
741+
<span class="md-typeset">
742+
Install agent skills
743+
</span>
744+
745+
</span>
746+
</a>
747+
735748
</li>
736749

737750
</ul>
@@ -4083,6 +4096,19 @@
40834096
</span>
40844097
</a>
40854098

4099+
</li>
4100+
4101+
<li class="md-nav__item">
4102+
<a href="#install-agent-skills" class="md-nav__link">
4103+
<span class="md-ellipsis">
4104+
4105+
<span class="md-typeset">
4106+
Install agent skills
4107+
</span>
4108+
4109+
</span>
4110+
</a>
4111+
40864112
</li>
40874113

40884114
</ul>
@@ -4263,26 +4289,6 @@ <h2 id="set-up-the-cli">Set up the CLI<a class="headerlink" href="#set-up-the-cl
42634289
(or <code>Use Git and optional Unix tools from the Command Prompt</code>), and
42644290
<code>Use bundled OpenSSH</code>.</p>
42654291
</details>
4266-
<h3 id="configure-the-default-project">Configure the default project<a class="headerlink" href="#configure-the-default-project" title="Permanent link">&para;</a></h3>
4267-
<p>To point the CLI to the <code>dstack</code> server, configure it
4268-
with the server address, user token, and project name:</p>
4269-
<div class="termy">
4270-
4271-
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>dstack<span class="w"> </span>project<span class="w"> </span>add<span class="w"> </span><span class="se">\</span>
4272-
<span class="w"> </span>--name<span class="w"> </span>main<span class="w"> </span><span class="se">\</span>
4273-
<span class="w"> </span>--url<span class="w"> </span>http://127.0.0.1:3000<span class="w"> </span><span class="se">\</span>
4274-
<span class="w"> </span>--token<span class="w"> </span>bbae0f28-d3dd-4820-bf61-8f4bb40815da
4275-
4276-
Configuration<span class="w"> </span>is<span class="w"> </span>updated<span class="w"> </span>at<span class="w"> </span>~/.dstack/config.yml
4277-
</code></pre></div>
4278-
4279-
</div>
4280-
4281-
<p>This configuration is stored in <code>~/.dstack/config.yml</code>.</p>
4282-
<!-- ### Check offers -->
4283-
4284-
<!-- To verify that both the server and CLI are properly configured, use the [`dstack offer`](reference/cli/dstack/offer.md#list-gpu-offers) command to list available GPU offers. If you don't see valid offers, ensure you've set up [backends](concepts/backends.md). -->
4285-
42864292
<details class="info">
42874293
<summary>Shell autocompletion</summary>
42884294
<p><code>dstack</code> supports shell autocompletion for <code>bash</code> and <code>zsh</code>.</p>
@@ -4329,14 +4335,38 @@ <h3 id="configure-the-default-project">Configure the default project<a class="he
43294335
</div>
43304336
</div>
43314337
</details>
4338+
<h3 id="configure-the-default-project">Configure the default project<a class="headerlink" href="#configure-the-default-project" title="Permanent link">&para;</a></h3>
4339+
<p>To point the CLI to the <code>dstack</code> server, configure it
4340+
with the server address, user token, and project name:</p>
4341+
<div class="termy">
4342+
4343+
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>dstack<span class="w"> </span>project<span class="w"> </span>add<span class="w"> </span><span class="se">\</span>
4344+
<span class="w"> </span>--name<span class="w"> </span>main<span class="w"> </span><span class="se">\</span>
4345+
<span class="w"> </span>--url<span class="w"> </span>http://127.0.0.1:3000<span class="w"> </span><span class="se">\</span>
4346+
<span class="w"> </span>--token<span class="w"> </span>bbae0f28-d3dd-4820-bf61-8f4bb40815da
4347+
4348+
Configuration<span class="w"> </span>is<span class="w"> </span>updated<span class="w"> </span>at<span class="w"> </span>~/.dstack/config.yml
4349+
</code></pre></div>
4350+
4351+
</div>
4352+
4353+
<p>This configuration is stored in <code>~/.dstack/config.yml</code>.</p>
4354+
<h3 id="install-agent-skills">Install agent skills<a class="headerlink" href="#install-agent-skills" title="Permanent link">&para;</a></h3>
4355+
<p>Install <a href="https://skills.sh/dstackai/dstack/dstack">skills</a> to help AI agents use the <code>dstack</code> CLI and edit configuration files.</p>
4356+
<div class="termy">
4357+
4358+
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>npx<span class="w"> </span>skills<span class="w"> </span>add<span class="w"> </span>dstackai/dstack
4359+
</code></pre></div>
4360+
4361+
</div>
4362+
4363+
<p>Agent skills are experimental. Share your feedback via <a href="https://github.com/dstackai/dstack/issues">GitHub issues</a>.</p>
43324364
<div class="admonition info">
43334365
<p class="admonition-title">What's next?</p>
43344366
<ol>
43354367
<li>See <a href="../concepts/backends/">Backends</a></li>
43364368
<li>Follow <a href="../quickstart/">Quickstart</a></li>
43374369
<li>Check the <a href="../guides/server-deployment/">server deployment</a> guide</li>
4338-
<li>Browse <a href="../../examples/">examples</a></li>
4339-
<li>Join the community via <a href="https://discord.gg/u8SmfwPpMd">Discord</a></li>
43404370
</ol>
43414371
</div>
43424372

docs/reference/api/python/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5741,7 +5741,7 @@ <h6 class="reference-item" id="https"><code>https</code> - (Optional) Enable HTT
57415741
<h6 class="reference-item" id="auth"><code>auth</code> - (Optional) Enable the authorization. Defaults to <code>True</code>.<a class="headerlink" href="#auth" title="Permanent link">&para;</a></h6>
57425742
<h6 class="reference-item" id="_scaling"><a href="#dstack.api.Scaling"><code>scaling</code></a> - (Optional) The auto-scaling rules. Required if <code>replicas</code> is set to a range.<a class="headerlink" href="#_scaling" title="Permanent link">&para;</a></h6>
57435743
<h6 class="reference-item" id="_rate_limits"><a href="#rate_limits"><code>rate_limits</code></a> - (Optional) Rate limiting rules.<a class="headerlink" href="#_rate_limits" title="Permanent link">&para;</a></h6>
5744-
<h6 class="reference-item" id="_probes"><a href="#probes"><code>probes</code></a> - (Optional) List of probes used to determine job health.<a class="headerlink" href="#_probes" title="Permanent link">&para;</a></h6>
5744+
<h6 class="reference-item" id="probes"><code>probes</code> - (Optional) The list of probes to determine service health. If <code>model</code> is set, defaults to a <code>/v1/chat/completions</code> probe. Set explicitly to override.<a class="headerlink" href="#probes" title="Permanent link">&para;</a></h6>
57455745
<h6 class="reference-item" id="replicas"><code>replicas</code> - (Optional) The number of replicas or a list of replica groups. Can be an integer (e.g., <code>2</code>), a range (e.g., <code>0..4</code>), or a list of replica groups. Each replica group defines replicas with shared configuration (commands, resources, scaling). When <code>replicas</code> is a list of replica groups, top-level <code>scaling</code>, <code>commands</code>, and <code>resources</code> are not allowed and must be specified in each replica group instead. .<a class="headerlink" href="#replicas" title="Permanent link">&para;</a></h6>
57465746
<h6 class="reference-item" id="commands"><code>commands</code> - (Optional) The shell commands to run.<a class="headerlink" href="#commands" title="Permanent link">&para;</a></h6>
57475747
<h6 class="reference-item" id="name"><code>name</code> - (Optional) The run name. If not specified, a random name is generated.<a class="headerlink" href="#name" title="Permanent link">&para;</a></h6>

0 commit comments

Comments
 (0)