Frontier can be installed on macOS, Windows, Linux, and any platform that supports Docker or Kubernetes. Choose the installation method that best fits your environment.
Prerequisites
Before installing Frontier, ensure you have:
PostgreSQL 13 or above - For storing Frontier data
SpiceDB - For authorization decisions (Installation guide )
You can run PostgreSQL and SpiceDB locally using Docker Compose. See the Docker section below.
Installation Methods
macOS Install via Homebrew
Linux Install via package manager
Kubernetes Deploy with Helm
Binary Download pre-compiled binary
Frontier is available via Homebrew.
Install Frontier
brew install raystack/tap/frontier
Upgrade to latest version
Frontier is available as downloadable .deb and .rpm packages.
Debian/Ubuntu
RedHat/CentOS
# Download the .deb package
wget https://github.com/raystack/frontier/releases/latest/download/frontier_linux_amd64.deb
# Install with dpkg
sudo dpkg -i frontier_linux_amd64.deb
Windows
Frontier is available via Scoop .
Add Frontier bucket
scoop bucket add frontier https: // github.com / raystack / scoop - bucket.git
Upgrade to latest version
Download pre-compiled binaries for any platform from the releases page.
Download binary
Visit the releases page and download the appropriate version for your platform.
Extract and install
Extract the binary and move it to a location in your PATH. For Unix-like systems: # Extract the archive
tar -xzf frontier_ * .tar.gz
# Move to /usr/local/bin
sudo mv frontier /usr/local/bin/
# Make executable
sudo chmod +x /usr/local/bin/frontier
Run Frontier using Docker containers.
Pull Docker Image
Latest version
Specific version
docker pull raystack/frontier:latest
Using Docker Compose
The easiest way to run Frontier with all dependencies:
Clone the repository
git clone https://github.com/raystack/frontier.git
cd frontier
Start services with Docker Compose
This starts PostgreSQL, SpiceDB, and Frontier with default configurations.
Access Frontier
Frontier will be available at http://localhost:8080
Run Docker Container Manually
Run Frontier container with custom configuration:
With environment variables
With config file
docker run -p 8080:8080 \
-e FRONTIER_DB_DRIVER=postgres \
-e FRONTIER_DB_URL=postgres://frontier:@localhost:5432/frontier?sslmode=disable \
-e FRONTIER_SPICEDB_HOST=spicedb.localhost:50051 \
-e FRONTIER_SPICEDB_PRE_SHARED_KEY=randomkey \
raystack/frontier:latest server start
Ensure PostgreSQL and SpiceDB are running and accessible before starting Frontier.
Kubernetes (Helm)
Deploy Frontier to Kubernetes using Helm charts.
Prerequisites
Installation Steps
Add Raystack Helm repository
helm repo add raystack https://raystack.github.io/charts/
helm repo update
Create values file
Create a values.yaml file with your configuration: image :
tag : "latest"
config :
db :
driver : postgres
url : postgres://frontier:@postgres:5432/frontier?sslmode=disable
spicedb :
host : spicedb
port : 50051
pre_shared_key : "your-secret-key"
ingress :
enabled : true
hosts :
- frontier.example.com
See the full values guide for all options.
Install Frontier
helm install frontier raystack/frontier -f values.yaml
Verify deployment
kubectl get pods -l app=frontier
Building from Source
Build Frontier from source code.
Prerequisites
Go 1.21 or later
Make
Git
Build Steps
Build native executable
This creates the frontier binary in the root directory.
Initialize configuration
Customize the generated config.yaml with your settings.
Run migrations
./frontier server migrate
Build Docker Image
Build image
docker build . -t frontier:custom
Run container
docker run -p 8080:8080 frontier:custom server start
Verify Installation
After installing Frontier, verify it’s working correctly:
Check version
You should see help output with available commands.
View command reference
This prints the complete CLI command reference.
Next Steps
Now that Frontier is installed:
Quick Start Set up your first Frontier instance
Configuration Configure Frontier server settings
CLI Reference Explore CLI commands
Admin Portal Access the web interface