Installation
We provide pre-built binaries, Docker Images and Helm Charts
Binary (Cross-platform)
Download the appropriate version for your platform from releases page. Once downloaded, the binary can be run from anywhere.
You don’t need to install it into a global location. This works well for shared hosts and other systems where you don’t have a privileged account.
Ideally, you should install it somewhere in your PATH for easy use. /usr/local/bin
is the most probable location.
Homebrew
# Install shield (requires homebrew installed)
$ brew install goto/taps/shield
# Upgrade shield (requires homebrew installed)
$ brew upgrade shield
# Check for installed shield version
$ shield version
Docker
Prerequisites
- Docker installed
Run Docker Image
Shield provides Docker image as part of the release. Make sure you have Spicedb and postgres running on your local and run the following.
# Download docker image from docker hub
$ docker pull gotocompany/shield
# Run the following docker command with minimal config.
$ docker run -p 8080:8080 \
-e SHIELD_DB_DRIVER=postgres \
-e SHIELD_DB_URL=postgres://shield:@localhost:5432/shield?sslmode=disable \
-e SHIELD_SPICEDB_HOST=spicedb.localhost:50051 \
-e SHIELD_SPICEDB_PRE_SHARED_KEY=randomkey
-v .config:.config
gotocompany/shield serve
Compiling from source
Prerequisites
Shield requires the following dependencies:
- Golang (version 1.21 or above)
- Git
Build
Run the following commands to compile shield
from source
git clone git@github.com:goto/shield.git
cd shield
make build
Use the following command to test
./shield version
Shield service can be started with the following command although there are few required configurations for it to start.
./shield server start