## Build from source >[!NOTE] > Building from source is only required if you'd like to contribute. The recommended way to use Sourcebot is to use the [pre-built docker image](https://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot). 1. Install go, NodeJS, [redis](https://redis.io/), and [postgres](https://www.postgresql.org/). Note that a NodeJS version of at least `21.1.0` is required. 2. Install [ctags](https://github.com/universal-ctags/ctags) (required by zoekt) ```sh // macOS: brew install universal-ctags // Linux: snap install universal-ctags ``` 3. Clone the repository with submodules: ```sh git clone --recurse-submodules https://github.com/sourcebot-dev/sourcebot.git ``` 4. Run `make` to build zoekt and install dependencies: ```sh cd sourcebot make ``` The zoekt binaries and web dependencies are placed into `bin` and `node_modules` respectively. 5. Create a copy of `.env.development` and name it `.env.development.local`. Update the required environment variables. 6. If you're using a declerative configuration file (the default behavior if you didn't enable auth), create a configuration file and update the `CONFIG_PATH` environment variable in your `.env.development.local` file. 7. Start Sourcebot with the command: ```sh yarn dev ``` A `.sourcebot` directory will be created and zoekt will begin to index the repositories found in the `config.json` file. 8. Start searching at `http://localhost:3000`.