The webappos.properties File Format
webAppOS properties

The /etc/webappos.properties file specifies general webAppOS configuration in the Java properties file format.  The $WEBAPPOS_ROOT placeholder can be used to denote the directory, where webAppOS is located.

The following properties are supported:

domain_or_ip

the address that end users will type into their browsers. Cen be a domain or an IP address (with optional port number).  Must be without protocol, since webAppOS will listen to 4 protocols, namely, http and ws, and (if secure==true) https and wss.

default: 127.0.0.1:4570

port

The HTTP port number that webAppOS will listen to.  For security reasons, it is strongly recommended to launch webAppOS as non-root user.  Ports below 1024 are protected from non-root users in *NIX systems.  One of the solutions is to configure redirection from <domain> ports 80 and 443 to localhost and this port and secure_port.  For Windows machines you can just specify port=80 and secure_port=443 right away (unless they are already occupied by other web server, such as IIS or Apache).

default: 4570

secure_port

The HTTPS port webAppOS will listen to (if secure==true).

default: 4571

free_port

The first free port in case additional ports are needed by apps and services.  In this case, webAppOS will occupy ports free_port+0, free_port+1, free_port+2, etc.  Please, ensure that these ports are open (firewall doesn't block them) and, in case of redirection, URLs <domain>:free_port+i are redirected to <localhost>:free_port+i

default: 4572

web_processor_bus_service_port

Local port for ensuring communication between webAppOS server-side bridge and server-side web processors.

default: 1200

secure

Instructs webAppOS to use https and wss whenever possible, i.e., http will be redirected to https, and certificates will be obtained automatically via ACME.

The secure flag requires ALL the following conditions to be met:

1) the domain must contain no port number (default ports 80 and 443 will be used to pass the ACME challenge); 2) domain is not an IP address; 3) domain is not "localhost".

If secure==false, the admininstrator can manage certificates by their own (e.g., using the Apache web-server) and set up forwarding to webAppOS via plain http.

default: true

acme_url

the address, to which webAppOS will connect to obtain/renew server-side signed certificates. Certificates are obtained/renewed automatically via the ACME protocol.

See https://​letsencrypt​.org​/docs​/staging-environment​/.

default: acme://letsencrypt.org/staging

acme_renew_interval

the number of days, after which we have to renew the server certificate via ACME

default: 60

registry_url

if empty, webAppOS will use JSON files in $WEBAPPOS_ROOT/etc/registry for storing registry information; otherwise, registry_url must specify a CouchDB endpoint in the form http://​User:Password@IP:PORT.

example: http://​webappos:webappos@127​.0​.0​.1:5984

default: empty (JSON files)

smtp_server

the URL of the SMTP mail server to use on behalf of webAppOS for sending e-mails.  We enable STARTTLS only when port is 587 (default port).  You can specify port 25, but then STARTTLS will not be used.

example: smtp.webappos.org:25

default: empty

smtp_auth

SMTP server credentials in the form user:password

default: empty

smtp_from

the e-mail address to be shown in the "From:" field in mails sent by webAppOS

example: nor[xxx]eply@webapp[xxx]os.org

default: empty

smtp_from_name

the name to be shown in the "From:" field in mails sent by webAppOS

default: webAppOS

standalone_token

a token for accessing webAppOS in standlone mode (e.g., running as a desktop app)

default: null

mimes

a semicolon(";")-delimited list of strings in the form of name:value, where name is an extension (including the dot, e.g., ".lua") or a directory name relative to the home folder (including the starting "/", e.g., "/Desktop"), while value is the mime-type, e.g., "source/lua" or "directory/desktop"; mime values are used when searching for icons

max_users_per_project

The total maximal number of users that can access a single project. There must be at least 2 users allowed (the server and the browser).  For debugers (e.g., webAppOS Debugger.webapp) and shared multi-user projects specify some greater value.

Web memory references will use the least significant log(max_users_per_project) bits to denote the web memory client that created that reference.

default: 2

inline_webcalls

if true, web processors will not be used; all web calls will be executed right away by the webAppOS server-side bridge. Useful for debugging.

default: false

allow_undeclared_webcalls

if true, undeclared webcalls in the form adapter_name:location will be allowed for execution. Only webcalls corresponding to webmemcall calling conventions can be undeclared. Useful for legacy TDA/TDA2 apps migrated to webAppOS.

default: true