Multiple changes and documentation.

This commit is contained in:
Alex Rennie-Lis committed 2024-06-08 11:11:20 +01:00
1 parent a3e0cc381b
commit f051bed335
3 files changed
+68 -42

No files matched your search

+56 -2
View File
@@ -16,9 +16,63 @@ Sinatra provides for this simple use case:
- A Dockerfile (and docker-compose) to encapsulate the server within a docker container.
- Optional default VLAN support to support unknown MAC addresses, e.g. into a guest network.
# Configuration
Optional configuration is via environment variables.
### SINATRA_PORT_RADIUS_AUTH
Sets the listening port for RADIUS authentication.
Default: 1812
### SINATRA_PORT_RADIUS_ACCT
Sets the listening port for RADIUS accounting
Default: 1813
### SINATRA_PORT_API
Sets the listening port for the API
Default: 8088
### SINATRA_STORAGE
Sets the storage type and location for data. The format is type://location.
Supported types are:
##### json
Uses a serialised JSON data file. e.g. json://./data
Default: json://./data
### SINATRA_CLIENT_SECRET
Sets the shared secret for RADIUS clients
Default: password
### SINATRA_DEFAULT_VLAN
Sets the default VLAN ID for unauthenticated users. If false, users must pass authentication.
Default: false
### SINATRA_MAC_AUTH_ONLY
Sets whether usernames and passwords should be processed as MAC addresses.
If true, then all input formats are normalised to lowercase alphanumeric strings, e.g. aabbccddeeff
Default: false
### SINATRA_SESSION_DURATION
Sets the RADIUS session duration in minutes.
Default: 60
### SINATRA_TIME_RULES
Sets whether time rules are to be processed.
If true, then all registered users must have at least one 'allow' rule defined.
Default: false
# Feature roadmap
- Mass-import from CSV
- Time-based authentication
- Time-limited access
- Connection accounting (with REST API endpoints for data access)