Skip to main content
Kubewall offers multiple installation methods to suit your environment and preferences. Choose the method that works best for you.
After installation, Kubewall is accessible at http://localhost:7080 by default.

Docker

Run Kubewall as a Docker container with persistent storage:
docker run -p 7080:7080 -v kubewall:/.kubewall ghcr.io/kubewall/kubewall:latest
To access a local kind cluster, use the --network host Docker flag:
docker run --network host -v kubewall:/.kubewall ghcr.io/kubewall/kubewall:latest

Docker with HTTPS

Mount your certificates and configure HTTPS:
docker run -p 7080:7080 \
    -v kubewall:/.kubewall \
    -v $(pwd):/.certs \
    ghcr.io/kubewall/kubewall:latest \
    --certFile=/.certs/kubewall.test+3.pem \
    --keyFile=/.certs/kubewall.test+3-key.pem

Helm

Deploy Kubewall in your Kubernetes cluster using Helm:
helm install kubewall oci://ghcr.io/kubewall/charts/kubewall -n kubewall-system --create-namespace
With Helm, Kubewall runs on port 8443 with self-signed certificates by default. View the chart configuration for customization options.

Helm chart configuration

The Helm chart supports extensive configuration options:
# Example custom configuration
replicaCount: 2

resources:
  limits:
    cpu: 1000m
    memory: 1Gi
  requests:
    cpu: 500m
    memory: 512Mi

ingress:
  enabled: true
  className: "nginx"
  hosts:
    - host: kubewall.example.com
      paths:
        - path: /
          pathType: Prefix

Package managers

Install Kubewall on macOS using Homebrew:
brew install --cask kubewall/tap/kubewall

Binary downloads

Download pre-compiled binaries for your platform:
Download the multi-architecture binary for macOS:
curl -L https://github.com/kubewall/kubewall/releases/latest/download/kubewall_Darwin_all.tar.gz -o kubewall.tar.gz
tar -xzf kubewall.tar.gz
chmod +x kubewall
sudo mv kubewall /usr/local/bin/
You can also download pre-compiled binaries directly from the Releases page.

Setting up HTTPS

For production deployments or when running Kubewall in a Kubernetes cluster, HTTPS is recommended.
When not used over HTTP/2, Server-Sent Events (SSE) suffer from a limitation to the maximum number of open connections. Using HTTPS ensures optimal performance. Learn more

Using your own certificates

Start Kubewall with your SSL/TLS certificates:
kubewall --certFile=/path/to/cert.pem --keyFile=/path/to/key.pem

Creating local trusted certificates with mkcert

1

Install mkcert

Install mkcert following their installation instructions for your platform.
2

Generate certificates

Run the following command to generate certificates for local development:
mkcert kubewall.test localhost 127.0.0.1 ::1
This creates two files:
  • kubewall.test+3.pem (certificate)
  • kubewall.test+3-key.pem (private key)
3

Start Kubewall with HTTPS

Launch Kubewall using the generated certificates:
kubewall --certFile=kubewall.test+3.pem --keyFile=kubewall.test+3-key.pem

Custom address and port

By default, Kubewall listens on [::]:7080 (all interfaces, IPv6 compatible). You can customize this using the --listen flag.
kubewall --listen :7080
Binding to a specific network interface is useful when exposing Kubewall to a known private subnet or container network.

Next steps

Quick start

Learn how to access and use Kubewall for the first time

HTTPS Setup

Set up secure HTTPS connections

Build docs developers (and LLMs) love