---
title: "Getting Started"
date: 2020-06-28T11:29:09-04:00
description: "A quick setup guide to get a server running"
draft: false
weight: 1
version: "0.2.1"
---


# Installation
  Binaries can be downloaded for [windows](https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip), [Linux](https://github.com/5Sigma/conductor/releases/latest/download/conductor-linux.tar.gz),
  or [MacOS](https://github.com/5Sigma/conductor/releases/latest/download/conductor-darwin.zip)

## Homebrew

On MacOS Conductor can be installed via Homebrew
```sh
brew tap 5sigma/tap
brew install conductor
```

#  Setting up a project

To setup a project for conductor you need to create a `conductor.yaml` somewhere in your project tree.
We will assume you have a stack that consists of 2 seperate components in a directory structure that looks
like this:

```sh
/project
    /frontend/
    /backend/
    /support_service/
```

## Settting up a conductor.yml

Conductor will search for a `conductor.yaml` anywhere in or above the current working directory. We will put the configuration
in the root `/project/` folder so it is accessible from any of the component projects.

{{< infobox >}}
 For more information see the full <a ui button right floated" href="/articles/config">Config documentation</a>
{{< /infobox >}}

An example of a minimal configuration file could look like this:

```yaml
components:
- name: frontend
  start:
    command: npm
    args:
    - start
- name: backend
  start:
    command: npm
    args:
    - start
- name: support
  start:
    command: python
    args:
    - main.py
```

Now from the project folder or any folder below it we can launch all 3 components using:

```sh
conductor run
```

Alternatively, we can run a single component by name:

```sh
conductor backend
```
