uhppoted.conf
is the shared configuration file for all the uhppoted
modules and is variously located in:
- /etc/uhppoted/uhppoted.conf (Linux)
- /usr/local/etc/com.github.uhppoted/uhppoted.conf (MacOS)
- \Program Data\uhppoted\uhppoted.conf (Windows)
The file contains optional configuration sections for all supported modules. For uhppoted-httpd
, only
the HTTPD section is relevant.
Attribute | Description | Default |
---|---|---|
httpd.html | Folder containing the HTML pages, images, etc | Embedded HTML |
httpd.http.enabled | Enables/disables the HTTP server i.e. without TLS | false |
httpd.http.port | HTTP server port | 8080 |
httpd.https.enabled | Enables/disables the HTTPS server | true |
httpd.https.port | HTTPS server port | 8443 |
httpd.tls.ca | HTTPS server CA certificate PEM file | config/httpd/ca.cert |
httpd.tls.certificate | HTTPS server TLS certificate PEM file | config/httpd/uhppoted.cert |
httpd.tls.key | HTTPS server TLS key PEM file | config/httpd/uhppoted.key |
httpd.tls.client.certificates.required | Enforces client mutual TLS authentication | false |
httpd.security.auth | Authorization for HTTP requests (none/some) | some |
httpd.security.local.db | auth.json file | config/httpd/auth.json |
httpd.security.cookie.max-age | Security cookie expiry (hours) | 24 |
httpd.security.login.expiry | Login cookie expiry e.g. 5m | 1m |
httpd.security.session.expiry | Session cookie expiry e.g. 300s | 5m |
httpd.security.admin.role | Administrator role name | admin |
httpd.security.otp.issuer | Issuer name for OTP QR code | uhppoted-httpd |
httpd.security.otp.login | allow enables login using OTP |
no |
httpd.request.timeout | Time limit for fulfilling an HTTP request | 15s |
httpd.system.interfaces | System file for data | var/system/interfaces.json |
httpd.system.controllers | System file for data | var/system/controllers.json |
httpd.system.doors | System file for data | var/system/doors.json |
httpd.system.groups | System file for data | var/system/groups.json |
httpd.system.cards | System file for data | var/system/cards.json |
httpd.system.events | System file for data | var/system/events.json |
httpd.system.logs | System file for data | var/system/logs.json |
httpd.system.users | System file for data | var/system/users.json |
httpd.system.history | System file for data | var/system/history.json |
httpd.system.refresh | Controller information refresh interval | 30s |
httpd.system.windows.ok | 'ok' time window after refresh | 10s |
httpd.system.windows.uncertain | 'uncertain' time window after last refresh | 30s |
httpd.system.windows.systime | Allowed time window for controller system time | 5m0s |
httpd.system.windows.expires | Cached controller attribute expiry time | 2m0s |
httpd.db.rules.acl | grules file for fine-grained access control | etc/httpd/acl.grl |
httpd.db.rules.interfaces | grules file for interfaces admin authorisation | etc/httpd/grules/interfaces.grl |
httpd.db.rules.controllers | grules file for controllers admin authorisation | etc/httpd/grules/controllers.grl |
httpd.db.rules.cards | grules file for cards admin authorisation | etc/httpd/grules/cards.grl |
httpd.db.rules.doors | grules file for doors admin authorisation | etc/httpd/grules/doors.grl |
httpd.db.rules.groups | grules file for groups admin authorisation | etc/httpd/grules/groups.grl |
httpd.db.rules.events | grules file for events admin authorisation | etc/httpd/grules/events.grl |
httpd.db.rules.logs | grules file for logs admin authorisation | etc/httpd/grules/logs.grl |
httpd.db.rules.users | grules file for users admin authorisation | etc/httpd/grules/users.grl |
httpd.audit.file | Audit trail file | var/httpd/audit/audit.log |
httpd.retention | Retention time for deleted items | 5m0s |
httpd.timezones | File for custom timezones e.g. Afica/Cairo | etc/timezones |
httpd.PIN.enabled | Enables card keypad PIN codes | false |
httpd.cards.default-start-date | Default start date for cards | '' (none) |
httpd.cards.default-end-date | Default end date for cards | '' (none) |
Sample HTTPD section:
# HTTPD
httpd.html = /usr/local/etc/com.github.uhppoted/http/html
httpd.http.enabled = true
; httpd.http.port = 8080
; httpd.https.enabled = true
; httpd.https.port = 8443
; httpd.tls.ca = /usr/local/etc/com.github.uhppoted/httpd/ca.cert
; httpd.tls.certificate = /usr/local/etc/com.github.uhppoted/httpd/uhppoted.cert
; httpd.tls.key = /usr/local/etc/com.github.uhppoted/httpd/uhppoted.key
httpd.tls.client.certificates.required = true
httpd.security.auth = some
; httpd.security.local.db = /usr/local/etc/com.github.uhppoted/httpd/auth.json
; httpd.security.cookie.max-age = 24
; httpd.security.login.expiry = 1m
httpd.security.session.expiry = 300s
httpd.request.timeout = 15s
; httpd.system.interfaces = /usr/local/var/com.github.uhppoted/httpd/system/interfaces.json
; httpd.system.controllers = /usr/local/var/com.github.uhppoted/httpd/system/controllers.json
; httpd.system.doors = /usr/local/var/com.github.uhppoted/httpd/system/doors.json
; httpd.system.groups = /usr/local/var/com.github.uhppoted/httpd/system/groups.json
; httpd.system.cards = /usr/local/var/com.github.uhppoted/httpd/system/cards.json
; httpd.system.events = /usr/local/var/com.github.uhppoted/httpd/system/events.json
; httpd.system.logs = /usr/local/var/com.github.uhppoted/httpd/system/logs.json
; httpd.system.users = /usr/local/var/com.github.uhppoted/httpd/system/users.json
; httpd.system.refresh = 30s
httpd.system.windows.ok = 10s
httpd.system.windows.uncertain = 30s
; httpd.system.windows.systime = 5m0s
; httpd.system.windows.expires = 2m0s
; httpd.db.rules.acl = /usr/local/etc/com.github.uhppoted/httpd/acl.grl
httpd.db.rules.interfaces = /usr/local/etc/com.github.uhppoted/httpd/grules/interfaces.grl
httpd.db.rules.controllers = /usr/local/etc/com.github.uhppoted/httpd/grules/controllers.grl
httpd.db.rules.cards = /usr/local/etc/com.github.uhppoted/httpd/grules/cards.grl
httpd.db.rules.doors = /usr/local/etc/com.github.uhppoted/httpd/grules/doors.grl
httpd.db.rules.groups = /usr/local/etc/com.github.uhppoted/httpd/grules/groups.grl
httpd.db.rules.events = /usr/local/etc/com.github.uhppoted/httpd/grules/events.grl
httpd.db.rules.logs = /usr/local/etc/com.github.uhppoted/httpd/grules/logs.grl
httpd.db.rules.users = /usr/local/etc/com.github.uhppoted/httpd/grules/users.grl
; httpd.audit.file = /usr/local/var/com.github.uhppoted/httpd/audit/audit.log
httpd.retention = 5m0s
; httpd.timezones = /usr/local/etc/com.github.uhppoted/timezones
; http.PIN.enabled = false