Agorakit
A web-based, open source organization tool for collectives
Declared in: projects/Agorakit/default.nix
Demo
Implement missing demoOptions
services.agorakit
- 
  
  
A file containing the Laravel APP_KEY - a 32 character long, base64 encoded key used for encryption where needed. Can be generated with
head -c 32 /dev/urandom | base64.- Type:
 absolute path- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
The root URL that you want to host agorakit on. All URLs in agorakit will be generated using this value. If you change this in the future you may need to run a command to update stored URLs in the database. Command example:
php artisan agorakit:update-url https://old.example.com https://new.example.com- Type:
 string- Default:
 "http\${lib.optionalString tlsEnabled \"s\"}://\${cfg.hostName}"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Agorakit configuration options to set in the
.env file.Refer to for details on supported values.
Settings containing secret data should be set to an attribute set containing the attribute
_secret - a string pointing to a file containing the value the option should be set to. See the example to get a better picture of this: in the resulting.env file, theOIDC_CLIENT_SECRET key will be set to the contents of the/run/keys/oidc_secret file.- Type:
 attribute set of (null or boolean or signed integer or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or absolute path or string or (submodule))- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
agorakit data directory
- Type:
 absolute path- Default:
 "/var/lib/agorakit"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Create the database and database user locally.
- Type:
 boolean- Default:
 true- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Database host address.
- Type:
 string- Default:
 "localhost"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Database name.
- Type:
 string- Default:
 "agorakit"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
A file containing the password corresponding to
.- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Database host port.
- Type:
 16 bit unsigned integer; between 0 and 65535 (both inclusive)- Default:
 3306- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Database username.
- Type:
 string- Default:
 user- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable agorakit.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Group agorakit runs as.
- Type:
 string- Default:
 "agorakit"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
The hostname to serve agorakit on.
- Type:
 string- Default:
 config.networking.fqdn- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail driver to use.
- Type:
 one of "smtp", "sendmail"- Default:
 "smtp"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
SMTP encryption mechanism to use.
- Type:
 null or value "tls" (singular enum)- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail "from" email.
- Type:
 string- Default:
 "mail@agorakit.com"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail "from" name.
- Type:
 string- Default:
 "agorakit"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail host address.
- Type:
 string- Default:
 "localhost"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
A file containing the password corresponding to
.- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail host port.
- Type:
 16 bit unsigned integer; between 0 and 65535 (both inclusive)- Default:
 1025- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Mail username.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
The maximum size for uploads (e.g. images).
- Type:
 string- Default:
 "18M"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
With this option, you can customize the nginx virtualHost settings.
- Type:
 submodule- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Host which to proxy requests to if ACME challenge is not found. Useful if you want multiple hosts to be able to verify the same domain name.
With this option, you could request certificates for the present domain with an ACME client that is running on another host, which you would specify here.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Directory for the ACME challenge, which is public. Don't put certs or keys in here. Set to null to inherit from config.security.acme.
- Type:
 null or string- Default:
 "/var/lib/acme/acme-challenge"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
listento listen on all interfaces on the respective default ports (80, 443).- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Basic Auth protection for a vhost.
WARNING: This is implemented to store the password in plain text in the Nix store.
- Type:
 attribute set of string- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Basic Auth password file for a vhost. Can be created by running {command}
nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'.- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Makes this vhost the default.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to ask Let's Encrypt to sign a certificate for this vhost. Alternately, you can use an existing certificate through {option}
useACMEHost.- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
These lines go to the end of the vhost verbatim.
- Type:
 strings concatenated with "\n"- Default:
 ""- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to add a separate nginx server block that redirects (defaults to 301, configurable with
redirectCode) all plain HTTP traffic to HTTPS. This will set defaults forlistento listen on all interfaces on the respective default ports (80, 443), where the non-SSL listens are used for the redirect vhosts.- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
If set, all requests for this host are redirected (defaults to 301, configurable with
redirectCode) to the given hostname.- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable the HTTP/2 protocol. Note that (as of writing) due to nginx's implementation, to disable HTTP/2 you have to disable it on all vhosts that use a given IP address / port. If there is one server block configured to enable http2, then it is enabled for all server blocks on this IP. See https://stackoverflow.com/a/39466948/263061.
- Type:
 boolean- Default:
 true- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable the HTTP/3 protocol. This requires using
pkgs.nginxQuicpackage which can be achieved by settingservices.nginx.package = pkgs.nginxQuic;and activate the QUIC transport protocolservices.nginx.virtualHosts.<name>.quic = true;. Note that HTTP/3 support is experimental and not yet recommended for production. Read more at https://quic.nginx.org/ HTTP/3 availability must be manually advertised, preferably in each location block.- Type:
 boolean- Default:
 true- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests. This requires using
pkgs.nginxQuicpackage which can be achieved by settingservices.nginx.package = pkgs.nginxQuic;and activate the QUIC transport protocolservices.nginx.virtualHosts.<name>.quic = true;. Note that special application protocol support is experimental and not yet recommended for production. Read more at https://quic.nginx.org/- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable kTLS support. Implementing TLS in the kernel (kTLS) improves performance by significantly reducing the need for copying operations between user space and the kernel. Required Nginx version 1.21.4 or later.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Listen addresses and ports for this virtual host. IPv6 addresses must be enclosed in square brackets. Note: this option overrides
addSSLandonlySSL.If you only want to set the addresses manually and not the ports, take a look at
listenAddresses.- Type:
 list of (submodule)- Default:
 [ ]- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Listen address.
- Type:
 string- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Extra parameters of this listen directive.
- Type:
 list of string- Default:
 [ ]- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Port number to listen on. If unset and the listen address is not a socket then nginx defaults to 80.
- Type:
 null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Enable PROXY protocol.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Enable SSL.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Listen addresses for this virtual host. Compared to
listenthis only sets the addresses and the ports are chosen automatically.Note: This option overrides
enableIPv6- Type:
 list of string- Default:
 [ ]- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Declarative location config
- Type:
 attribute set of (submodule)- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Alias directory for requests.
- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Basic Auth protection for a vhost.
WARNING: This is implemented to store the password in plain text in the Nix store.
- Type:
 attribute set of string- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Basic Auth password file for a vhost. Can be created by running {command}
nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'.- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
These lines go to the end of the location verbatim.
- Type:
 strings concatenated with "\n"- Default:
 ""- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
FastCGI parameters to override. Unlike in the Nginx configuration file, overriding only some default parameters won't unset the default values for other parameters.
- Type:
 attribute set of (string or absolute path)- Default:
 { }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Adds index directive.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Order of this location block in relation to the others in the vhost. The semantics are the same as with
lib.mkOrder. Smaller values have a greater priority.- Type:
 signed integer- Default:
 1000- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Adds proxy_pass directive and sets recommended proxy headers if recommendedProxySettings is enabled.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to support proxying websocket connections with HTTP/1.1.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Enable recommended proxy settings.
- Type:
 boolean- Default:
 config.services.nginx.recommendedProxySettings- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Enable recommended uwsgi settings.
- Type:
 boolean- Default:
 config.services.nginx.recommendedUwsgiSettings- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Adds a return directive, for e.g. redirections.
- Type:
 null or string or signed integer- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Root directory for requests.
- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Adds try_files directive.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Adds uwsgi_pass directive and sets recommended proxy headers if recommendedUwsgiSettings is enabled.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable HTTPS and reject plain HTTP connections. This will set defaults for
listento listen on all interfaces on port 443.- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to enable the QUIC transport protocol. This requires using
pkgs.nginxQuicpackage which can be achieved by settingservices.nginx.package = pkgs.nginxQuic;. Note that QUIC support is experimental and not yet recommended for production. Read more at https://quic.nginx.org/- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
HTTP status used by
globalRedirectandforceSSL. Possible usecases include temporary (302, 307) redirects, keeping the request method and body (307, 308), or explicitly resetting the method to GET (303). See https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.- Type:
 integer between 300 and 399 (both inclusive)- Default:
 301- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Whether to listen for and reject all HTTPS connections to this vhost. Useful in default server blocks to avoid serving the certificate for another vhost. Uses the
ssl_reject_handshakedirective available in nginx versions 1.19.4 and above.- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Create an individual listening socket . It is required to specify only once on one of the hosts.
- Type:
 boolean- Default:
 false- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
The path of the web root directory.
- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Additional names of virtual hosts served by this virtual host configuration.
- Type:
 list of string- Default:
 [ ]- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Name of this virtual host. Defaults to attribute name in virtualHosts.
- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Path to server SSL certificate.
- Type:
 absolute path- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Path to server SSL certificate key.
- Type:
 absolute path- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Path to root SSL certificate for stapling and client certificates.
- Type:
 null or absolute path- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
A host of an existing Let's Encrypt certificate to use. This is useful if you have many subdomains and want to avoid hitting the rate limit. Alternately, you can generate a certificate through {option}
enableACME. Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using .- Type:
 null or string- Default:
 null- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
The php82 package to use.
- Type:
 package- Default:
 pkgs.php82- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
Options for the agorakit PHP pool. See the documentation on
php-fpm.conf for details on configuration directives.- Type:
 attribute set of (string or signed integer or boolean)- Default:
 { pm = "dynamic"; "pm.max_children" = 32; "pm.max_requests" = 500; "pm.max_spare_servers" = 4; "pm.min_spare_servers" = 2; "pm.start_servers" = 2; }- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 - 
  
  
User agorakit runs as.
- Type:
 string- Default:
 "agorakit"- Declared in:
 - nixos/modules/services/web-apps/agorakit.nix
 
 
services.agorakit.appKeyFile
services.agorakit.appURL
services.agorakit.config
services.agorakit.dataDir
services.agorakit.database.createLocally
services.agorakit.database.host
services.agorakit.database.name
services.agorakit.database.passwordFile
services.agorakit.database.port
services.agorakit.database.user
services.agorakit.enable
services.agorakit.group
services.agorakit.hostName
services.agorakit.mail.driver
services.agorakit.mail.encryption
services.agorakit.mail.from
services.agorakit.mail.fromName
services.agorakit.mail.host
services.agorakit.mail.passwordFile
services.agorakit.mail.port
services.agorakit.mail.user
services.agorakit.maxUploadSize
services.agorakit.nginx
services.agorakit.nginx.acmeFallbackHost
services.agorakit.nginx.acmeRoot
services.agorakit.nginx.addSSL
services.agorakit.nginx.basicAuth
services.agorakit.nginx.basicAuthFile
services.agorakit.nginx.default
services.agorakit.nginx.enableACME
services.agorakit.nginx.extraConfig
services.agorakit.nginx.forceSSL
services.agorakit.nginx.globalRedirect
services.agorakit.nginx.http2
services.agorakit.nginx.http3
services.agorakit.nginx.http3_hq
services.agorakit.nginx.kTLS
services.agorakit.nginx.listen
services.agorakit.nginx.listen.*.addr
services.agorakit.nginx.listen.*.extraParameters
services.agorakit.nginx.listen.*.port
services.agorakit.nginx.listen.*.proxyProtocol
services.agorakit.nginx.listen.*.ssl
services.agorakit.nginx.listenAddresses
services.agorakit.nginx.locations
services.agorakit.nginx.locations..alias 
services.agorakit.nginx.locations..basicAuth 
services.agorakit.nginx.locations..basicAuthFile 
services.agorakit.nginx.locations..extraConfig 
services.agorakit.nginx.locations..fastcgiParams 
services.agorakit.nginx.locations..index 
services.agorakit.nginx.locations..priority 
services.agorakit.nginx.locations..proxyPass 
services.agorakit.nginx.locations..proxyWebsockets 
services.agorakit.nginx.locations..recommendedProxySettings 
services.agorakit.nginx.locations..recommendedUwsgiSettings 
services.agorakit.nginx.locations..return 
services.agorakit.nginx.locations..root 
services.agorakit.nginx.locations..tryFiles 
services.agorakit.nginx.locations..uwsgiPass 
services.agorakit.nginx.onlySSL
services.agorakit.nginx.quic
services.agorakit.nginx.redirectCode
services.agorakit.nginx.rejectSSL
services.agorakit.nginx.reuseport
services.agorakit.nginx.root
services.agorakit.nginx.serverAliases
services.agorakit.nginx.serverName
services.agorakit.nginx.sslCertificate
services.agorakit.nginx.sslCertificateKey
services.agorakit.nginx.sslTrustedCertificate
services.agorakit.nginx.useACMEHost
services.agorakit.phpPackage
services.agorakit.poolConfig
services.agorakit.user
Examples
This project is funded by NLnet through these subgrants:
- Entrust
 - Agorakit
 
Related links: