# Boltz

## Setting up the Boltz Engine

Download the exe from releases, and unzip it to the directory, then fill out the config and secrets file to being using Boltz.&#x20;

### Configuration

The secrets, sandbox, and database directories all have alternatives if you want to run Boltz in a docker container, they are activated by setting the environment variable `production` to `true`.

The execution section of `config.json` gives you the ability to set the time-to-live from last use of volumes and vm instances, and how often the garbage collector looks to collect them.

The `sandboxDirectory` object gives you the option to set the directory that VM contexts can access. *This is where npm packages are installed.*

`adminPort` controls where the api and interface is available, and `dbPort` is where the database is served to Boltz workers and has its own process.

The `executePort` is most important because it is where your users connect to and can query functions.

`maxWorkerProcesses` defines the maximum amount of workers Boltz can use, the default is 8, but Boltz will only scale itself to the number of CPU threads you have.

Finally you can specify your SSL configuration in the `ssl` section, enabling it with `enable` and setting the paths to the key and cert files using the following, each with their production and development paths that you can switch between.

### Secrets

The secrets configuration manages your ssl passphrase and your authentication username and password, you have to restart the server for changes to take effect.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boltz.bsnk.dev/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
