Skip to main content

Installation

Quick install

# Fetch the installer
wget https://github.com/CloudNativeWorks/elchi-archive/releases/download/elchi-client-v1.1.0/elchi-install.sh

Production setup

sudo bash elchi-install.sh \
--name=web-server-01 \
--host=backend.elchi.io \
--port=443 \
--tls=true \
--token=your-auth-token

OpenStack deployment

sudo bash elchi-install.sh \
--name=openstack-vm \
--host=controller.elchi.io \
--port=443 \
--tls=true \
--token=prod-token \
--cloud=my-openstack

With BGP routing

sudo bash elchi-install.sh \
--enable-bgp \
--name=edge-router \
--host=controller.elchi.io \
--port=443 \
--tls=true \
--token=prod-token \
--cloud=production

Installer flags

FlagDescriptionRequired
--name=NAMEClient name as it appears in Elchi.yes
--host=HOSTController server address.yes
--port=PORTServer port (1–65535).yes
--tls=true|falseEnable TLS connection.yes
--token=TOKENAuthentication token (min 8 chars).yes
--cloud=CLOUDCloud / infrastructure provider. Defaults to other.no
--enable-bgpInstall FRR for BGP routing.no
--no-shieldDo not install the elchi-shield sidecar (installed by default).no
--shield-version=vX.Y.ZPin the elchi-shield release (default: bundled/latest).no
--shield-audit-dsn=DSNSend shield audit events to central ClickHouse (else off).no
--shield-metrics-otlp=H:PPush shield metrics to an OTel Collector (OTLP/gRPC).no
--shield-metrics-insecureUse plaintext gRPC to the shield metrics collector.no
Shield installs by default

The installer also brings up the elchi-shield ext_proc WAF sidecar in the same run. Use --no-shield to skip it, and see The Bundled Shield Sidecar for the sink config the --shield-* flags write.

OpenStack deployments

If you're running on OpenStack, pass --cloud=YOUR_CLOUD_NAME using the cloud name shown in the Elchi UI.

Manual installation

Skip the installer and place the binary yourself:

# AMD64
wget https://github.com/CloudNativeWorks/elchi-archive/releases/download/elchi-client-v1.1.0/elchi-client-linux-amd64
sudo mkdir -p /etc/elchi/bin
sudo mv elchi-client-linux-amd64 /etc/elchi/bin/elchi-client
sudo chmod +x /etc/elchi/bin/elchi-client

/etc/elchi/bin/elchi-client is the path the elchi-client.service systemd unit executes (ExecStart=/etc/elchi/bin/elchi-client start --config /etc/elchi/config.yaml), so the binary must live there — not in /usr/local/bin.