Git Product home page Git Product logo

bihan / dstack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dstackai/dstack

0.0 0.0 0.0 112.82 MB

An open-source container orchestration engine for running AI workloads in any cloud or data center. https://discord.gg/u8SmfwPpMd

Home Page: https://dstack.ai

License: Mozilla Public License 2.0

Shell 0.68% Python 72.86% Go 5.73% Mako 0.02% HCL 0.15% Dockerfile 0.14% Jinja 0.12% TypeScript 19.29% HTML 0.04% SCSS 0.44% CSS 0.01% JavaScript 0.52%

dstack's Introduction

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 ✨

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 dstack server 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

Mozilla Public License 2.0

dstack's People

Contributors

peterschmidt85 avatar r4victor avatar egor-s avatar ivan-bokov avatar olgenn avatar jvstme avatar crisp-snakey avatar spott avatar bihan avatar un-def avatar smokfyz avatar deep-diver avatar kamilkrzyskow avatar tleyden avatar thebits avatar sauravsolanki avatar chenrui333 avatar irohith avatar muddi900 avatar michaelfeil avatar loghijiaha avatar tamanobi avatar kevkibe avatar promsoft avatar plutov avatar axitkhurana avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.