--- layout: docs page_title: Documentation description: Building Boundary --- # Building Boundary Building Boundary from source requires: - [Go](https://golang.org/dl/). Boundary developers keep current with new releases of Go in order to take advantage of new features and to ensure that security issues within Go are addressed. If building Boundary yourself, always use the latest version and keep current. - `make` installed - [Docker](https://docs.docker.com/get-docker/) installed - Basic development environment (git, xcode if you're on Mac, etc) 1. `$ git clone https://github.com/hashicorp/boundary` or if you're using SSH auth for github, `$ git clone git@github.com:hashicorp/boundary` 2. `$ cd boundary` 3. `$ make install` The first time you run `make install` it will build UI assets, which will take a long time. After the initial build, you can update those assets to the currently-pinned version via `make build-ui`. Once you've built Boundary, the binary will be available at `/bin/boundary`. Move this binary to somewhere in your `$PATH` such as `/usr/local/bin`. ## Cross Platform Build If you need to cross compile boundary for another OS or architecture, use the [GOOS and GOARCH](https://github.com/hashicorp/boundary/blob/master/scripts/build.sh#L26) environment variable to set this. Example: `$ GOOS=linux GOARCH=amd64 make install` For more details, please consult the [Boundary project on GitHub](https://github.com/hashicorp/boundary#build-and-start-boundary-in-dev-mode). ## Troubleshooting UI assets are built inside a Docker container. If this build step fails, try increasing memory and swap available to Docker.