This page lists every setting that Jocasta reads, with its type, default and
allowed values. Configure tells how Jocasta reads and
overrides settings. jocasta.example.yaml
has the same settings, in a file that you can copy.
Each setting can also come from an environment variable. The name is
JOCASTA_, then the path of the setting in capitals, with a double
underscore between levels. A single underscore stays part of the key. For
example, scan.devices.resolve_mdns is JOCASTA_SCAN__DEVICES__RESOLVE_MDNS.
For a plugin or notification setting, the instance or destination name is
one level of the path. For example, plugins.routeros.gateway.password is
JOCASTA_PLUGINS__ROUTEROS__GATEWAY__PASSWORD.
Types:
duration: a number and a unit, such as 90s, 15m or 6h. The units
are s, m and h. There is no unit for days, so 30 days is 720h.
Where the web server listens. 0.0.0.0 listens on every interface. The container image sets 0.0.0.0.
server.port
int
8080
1 to 65535
The port the web server listens on.
server.trusted_proxies
list
empty
Addresses or CIDR prefixes, such as 192.0.2.1 or 10.0.0.0/8
Reverse proxy addresses whose forwarding headers the server trusts to identify the client. Empty reads the client address from the connection directly.
server.cors.allowed_origins
list
empty
Origins as scheme://host[:port]
Browser origins besides the server's own that may read /api. Empty sends no CORS headers.
server.auth.session_lifetime
duration
168h
A duration
The longest a sign-in lasts, whatever the activity.
server.auth.idle_timeout
duration
24h
A duration
How long a session survives with no requests.
server.auth.cookie_secure
bool
true
true, false
Sends the session cookie over HTTPS only. Set false to sign in over plain HTTP from anywhere but localhost.
server.mcp.enabled
bool
false
true, false
Serves the MCP endpoint at /mcp. While off, /mcp answers 404.
The country from which the world map draws its lines. If empty, Jocasta uses the outside address of the router. This address cannot find the country of a network behind carrier-grade NAT. See NetFlow.
location.timezone
string
empty
An IANA zone name, such as Australia/Sydney
The zone in which Jocasta shows times. If empty, Jocasta uses TZ or the zone of the system, which is UTC in a container. Jocasta always stores times in UTC.
The source name of the sweeps that run at each interval. Set it in a container, where the host name changes on every run. A new name starts a new source. Past scans stay under the old name.
scan.devices.enabled
bool
true
true, false
Sweeps networks on a timer.
scan.devices.interval
duration
5m
A duration
How often the sweep runs.
scan.devices.rate
int
1000
A whole number
The most ICMP probes sent per second.
scan.devices.rounds
int
2
A whole number
The number of probes to each address before Jocasta counts the address as down.
scan.devices.wait
duration
2s
A duration
How long to wait for replies after the last probe.
scan.devices.resolve_names
bool
true
true, false
Looks up reverse DNS for each address that answered. See Name devices.
scan.devices.resolve_macs
bool
true
true, false
Reads the neighbour table for hardware addresses.
scan.devices.resolve_mdns
bool
true
true, false
Asks each device without a reverse DNS name for its name over mDNS.
scan.devices.resolve_netbios
bool
true
true, false
Asks each device still without a name over NetBIOS.
scan.devices.resolve_dnssd
bool
true
true, false
Asks for the services that devices advertise. Names each device that still has no name after the name that it gives its services. Needs host networking.
scan.devices.resolve_ssdp
bool
true
true, false
Searches over SSDP. Names each device that still has no name after its UPnP friendlyName. Needs host networking.
scan.ports.enabled
bool
false
true, false
Probes every known address for open TCP ports on a timer.
scan.ports.interval
duration
6h
A duration
How often the port scan runs.
scan.ports.custom
string
empty
Ports and ranges, such as 22,80,443,8000-8100; 1-65535 for every port
The ports to probe. If empty, Jocasta uses a preset. Jocasta also probes each address on the ports that its device advertises.
scan.ports.concurrency
int
64
A whole number
The most connections a scan opens at once. Lower it on a router with a small connection table.
By default, plugins are off. Each instance is under its kind, with a name
that you choose as its key. An instance is off, unless it has
enabled: true. See
Plugins.
Each destination is under notify, with a name that you choose as its key.
It has exactly one service block: ntfy, webhook or http. To select the
changes that a destination gets, use the Notifications page in the account
menu. See
Notifications.
Key
Type
Default
Allowed values
Description
notify.<name>.enabled
bool
true
true, false
Sends to this destination. A destination is on unless it says false.