76 lines
1.8 KiB
Markdown
76 lines
1.8 KiB
Markdown
---
|
|
title: "Getting Started"
|
|
date: 2020-06-28T11:29:09-04:00
|
|
description: "A quick setup guide to get a server running"
|
|
draft: false
|
|
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
|
|
```
|