dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.
Project description
dstack is a lightweight alternative to Kubernetes, designed specifically for managing the development, training, and
deployment of AI models at any scale.
dstack is easy to use with any cloud provider (AWS, GCP, Azure, OCI, Lambda, TensorDock, Vast.ai, RunPod, etc.) or
any on-prem clusters.
If you already use Kubernetes, dstack can be used with it.
Accelerators
dstack supports NVIDIA GPU and Google Cloud TPU out of the box.
Major news ✨
- [2024/07] dstack 0.18.8: GCP volumes (Release)
- [2024/07] dstack 0.18.7: Fleets, RunPod volumes, dstack apply, and more (Release)
- [2024/05] dstack 0.18.4: Google Cloud TPU, and more (Release)
- [2024/05] dstack 0.18.3: OCI, and more (Release)
- [2024/05] dstack 0.18.2: On-prem clusters, private subnets, and more (Release)
Installation
Before using dstack through CLI or API, set up a dstack server.
1. Configure backends
If you want the dstack server to run containers or manage clusters in your cloud accounts (or use Kubernetes),
create the ~/.dstack/server/config.yml file and configure backends.
2. Start the server
Once the ~/.dstack/server/config.yml file is configured, proceed to start the server:
$ pip install "dstack[all]" -U
$ dstack server
Applying ~/.dstack/server/config.yml...
The admin token is "bbae0f28-d3dd-4820-bf61-8f4bb40815da"
The server is running at http://127.0.0.1:3000/
Note It's also possible to run the server via Docker.
The dstack server can run anywhere: on your laptop, a dedicated server, or in the cloud. Once it's up, you
can use either the CLI or the API.
3. Set up the CLI
To point the CLI to the dstack server, configure it
with the server address, user token, and project name:
$ pip install dstack
$ dstack config --url http://127.0.0.1:3000 \
--project main \
--token bbae0f28-d3dd-4820-bf61-8f4bb40815da
Configuration is updated at ~/.dstack/config.yml
4. Create on-prem fleets
If you want the
dstackserver to run containers on your on-prem servers, use fleets.
How does it work?
Before using
dstack, install the server and configure backends.
1. Define configurations
dstack supports the following configurations:
- Dev environments — for interactive development using a desktop IDE
- Tasks — for scheduling jobs (incl. distributed jobs) or running web apps
- Services — for deployment of models and web apps (with auto-scaling and authorization)
- Fleets — for managing cloud and on-prem clusters
- Volumes — for managing persisted volumes
- Gateways — for configuring the ingress traffic and public endpoints
Configuration can be defined as YAML files within your repo.
2. Apply configurations
Apply the configuration either via the dstack apply CLI command or through a programmatic API.
dstack automatically manages provisioning, job queuing, auto-scaling, networking, volumes, run failures,
out-of-capacity errors, port-forwarding, and more — across clouds and on-prem clusters.
More information
For additional information and examples, see the following links:
Contributing
You're very welcome to contribute to dstack.
Learn more about how to contribute to the project at CONTRIBUTING.md.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dstack-0.18.9.tar.gz.
File metadata
- Download URL: dstack-0.18.9.tar.gz
- Upload date:
- Size: 314.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e56432db0e72a90ba9086c529f23e078d0080dd70da9f6e25682ebce0e11db04
|
|
| MD5 |
0f2f918c9eca3bc62bdb38b307090f47
|
|
| BLAKE2b-256 |
0e4798f74e6356c6d13ab95dbe93236fbe081b502020c0ff9778dc0e913176e6
|
File details
Details for the file dstack-0.18.9-py3-none-any.whl.
File metadata
- Download URL: dstack-0.18.9-py3-none-any.whl
- Upload date:
- Size: 474.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58f13a5ca2d0cd1c7fd0a44794dcd1a489f9cba814f1ddad1f1dc1f9c5d9378b
|
|
| MD5 |
2b0ccbe5c7510e6e9d1439b9556e56ee
|
|
| BLAKE2b-256 |
7233aa139616c08231121b176f1548480bf7271175f20cc18beee1a044157ffe
|