> For the complete documentation index, see [llms.txt](https://ciusji.gitbook.io/luden/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ciusji.gitbook.io/luden/quickstart/building-from-source.md).

# Building from Source

## Requirements

Luden is written primarily in Go with the frontend written in JavaScript.

To install the required pre-requisites see the following guides:

* [Installing Go (>=1.16)](https://golang.org/doc/install)
* [Installing npm](https://www.npmjs.com/get-npm)
* [Installing yarn](https://classic.yarnpkg.com/lang/en/docs/install)

## Clone the Source

```sh
git clone https://github.com/GuinsooLab/luden.git
cd luden
```

Make build scripts executable:

```sh
chmod +x local-build-server.sh && \
chmod +x local-build-configurator.sh && \
chmod +x local-build-luden.sh
```

## Build Luden Server

Building the Luden Server run:

```
./local-build-server.sh -d false
```

**`-d false`** skips docker image build.

If the build is successful, all artifacts will be replaced inside the **`./server/build/dist`** directory:&#x20;

```bash
109376 -rwxr-xr-x   1 admin  staff  55998592 Mar 15 09:04 eventnative
     0 drwxr--r--  11 admin  staff       352 Mar 15 12:56 logs
     0 drwxr-xr-x   6 admin  staff       192 Mar 15 10:37 web

```

## Run Luden Server

**`./server/build/dist/eventnative`** is the main application binary; **`web`** contains static files (JS and HTML). The application doesn't require a file but will be mostly useless to run without config. You can refer **`./docker/eventnative.yaml`**.

Run the application with the following:

```
./eventnative -cfg {abstract_path}/luden/docker/eventnative.yaml
```

## Build Luden Configurator

For building the Luden Configurator just run:

```
./local-build-configurator.sh -d false
```

**`-d false`** skips docker images build.

If the build is successful, all artifacts will be placed inside the **`./configuratior/build/dist`** directory:

```
122248 -rwxr-xr-x   1 admin  staff  62589312 Mar 15 16:37 configurator
     0 drwxr-xr-x  20 admin  staff       640 Mar 15 16:37 web
```

## Run Luden Configurator

**`./configurator`** is the configurator UI backend application binary; **`web`** contains static Configurator UI files.&#x20;

Run the application with the configuration file using **`-cfg`** parameter:

```sh
./configurator/build/dist/configurator -cfg {abstract_path}/luden/configurator.yaml
```

<figure><img src="/files/dytsPLqC7qLcpdcYAXPZ" alt=""><figcaption></figcaption></figure>
