Using Binaries
This guide explains how to install and run Nauthilus from release binaries.
Installation
Download the release archive, unpack it, and install the server binary:
curl -LO https://github.com/croessner/nauthilus/releases/latest/download/nauthilus-linux-amd64.tar.gz
tar -xzf nauthilus-linux-amd64.tar.gz
sudo mv nauthilus /usr/local/sbin/
sudo chmod +x /usr/local/sbin/nauthilus
Create a dedicated user and config directory:
sudo useradd -r -s /bin/false nauthilus
sudo mkdir -p /etc/nauthilus
sudo chown nauthilus:nauthilus /etc/nauthilus
Minimal Config File
Create /etc/nauthilus/nauthilus.yml:
runtime:
servers:
http:
address: "127.0.0.1:9080"
observability:
log:
level: "info"
storage:
redis:
primary:
address: "127.0.0.1:6379"
password_nonce: "replace-with-a-long-random-string"
auth:
backends:
order:
- cache
- ldap
Systemd Unit
[Unit]
Description=Nauthilus authentication service
After=network.target nss-lookup.target
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/nauthilus
ExecStart=/usr/local/sbin/nauthilus --config /etc/nauthilus/nauthilus.yml
Restart=on-failure
User=nauthilus
Group=nauthilus
[Install]
WantedBy=multi-user.target
Enable and start it:
sudo systemctl daemon-reload
sudo systemctl enable nauthilus
sudo systemctl start nauthilus
Useful Commands
Validate configuration:
nauthilus --config /etc/nauthilus/nauthilus.yml --config-check
Show defaults:
nauthilus -d
Show only changed values:
nauthilus -n --config /etc/nauthilus/nauthilus.yml
Show changed values including secrets:
nauthilus -n -P --config /etc/nauthilus/nauthilus.yml
Configuration Sources
Nauthilus can be configured with:
- a YAML/JSON/TOML/HCL/INI config file
- environment variables derived from canonical config-v2 paths
- command-line flags for loader behavior
For example:
export NAUTHILUS_STORAGE_REDIS_PRIMARY_ADDRESS=127.0.0.1:6379
export NAUTHILUS_OBSERVABILITY_LOG_LEVEL=debug