Skip to main content
Get NativeLink up and running in just a few minutes using Docker.

Prerequisites

1

Install Docker

You need Docker installed on your system:
1

Download the configuration

curl -O \
    https://raw.githubusercontent.com/TraceMachina/nativelink/v0.7.5/nativelink-config/examples/basic_cas.json5
2

Run the Docker container

docker run \
    -v $(pwd)/basic_cas.json5:/config \
    -p 50051:50051 \
    ghcr.io/tracemachina/nativelink:v0.7.5 \
    config
NativeLink will start and listen on port 50051
3

Verify it's running

Check the logs for “Ready, listening on”:
Ready, listening on 0.0.0.0:50051

What’s running?

The basic_cas.json5 configuration provides:

Content Addressable Storage (CAS)

Stores build artifacts using content-based addressing

Action Cache (AC)

Caches action results for faster incremental builds

Remote Execution

Executes build actions on local workers

Scheduler

Matches actions to available workers
All data is stored locally in /tmp/nativelink/ by default.

Next steps

Configure your build tool

Connect Bazel, Buck2, or other build tools

Customize the configuration

Learn about configuration options

Deploy to production

Set up a production deployment

Explore other installation methods

Try Nix or build from source

Troubleshooting

Change the port mapping in the docker run command:
docker run -v $(pwd)/basic_cas.json5:/config -p 50052:50051 ...
Then configure your build tool to use port 50052.
On Linux, you may need to run Docker with sudo or add your user to the docker group:
sudo usermod -aG docker $USER
newgrp docker
Check the Docker logs:
docker logs <container-id>
Common issues:
  • Invalid JSON5 in config file
  • Missing volume mount
  • Port conflict
For more detailed troubleshooting, see the Troubleshooting guide.

Build docs developers (and LLMs) love