Xylok Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Advanced Installs and Installer Options

If more customization of the install process is needed, many of Xylok’s options can be set from the CLI. If done during initial installation, this will also cause Xylok to write those flags to its configuration file. To see the currently list, run ./xylok-installer-vXXX --help). The current option list is:

GLOBAL OPTIONS:
   --config string, -c string                       Location for Xylok configuration file. (default: "/etc/xylok.conf") [$XYLOK_CONFIG]
   --verbose, -v                                    Enable verbose logging (default: false)
   --image-tag string                               Change image tag to use for operations, rather than the built-in version (default: "unknown")
   --control-set string                             Control set to use (currently supports rmfrev4 and rmfrev5) (default: "rmfrev4")
   --pg-pw string                                   Password to use for internal Postgres server
   --allow-search-indexing                          Allow search engines to index content (default: false)
   --http-only                                      Only listen on HTTP port (default: false)
   --bind string                                    Bind to the given IP (default: "0.0.0.0")
   --allow-domain string [ --allow-domain string ]  Domains that may be used to access Xylok, given as regular expressions (Go RE2 compatible)
   --cpu int                                        Limit CPU usage of container, given as CPU shares (see --cpu-shares flag for Docker/Podman) (default: 0)
   --memory string                                  Limit memory usage of container (see --memory flag for Docker/Podman)
   --http-port int                                  Set HTTP port for xylok to use (default: 80)
   --https-port int                                 Set HTTPS port for xylok to use (default: 443)
   --user string                                    User name of user to run Xylok as. Will be created if not found. (default: "xylok")
   --install-path string                            Install path for Xylok management scripts (default: "/opt/xylok/")
   --data-path string                               Location Xylok data will be stored, including running data and the database (default: "/var/lib/xylok/")
   --log-path string                                Base directory to store Xylok logs (default: "/var/log/xylok/")
   --ad-path string                                 Location to directory with AD certificates
   --acme-server string                             ACME (ie, Let's Encrypt) server to use for generating HTTP certificates
   --acme-email string                              Email to use when generating certificates (default: "support@xylok.io")
   --banner string                                  Banner to display before allowing user to access server
   --help, -h                                       show help

For advanced use cases, many steps of the installation process can be manually executed using install subcommands (i.e., ./xylok-installer-vXXX install <subcommand>). Generally, this is only needed at the advice of Xylok support:

NAME:
   xylok install - Install Xylok onto the local machine

USAGE:
   xylok install [command [command options]]

COMMANDS:
   stop               Do everything in our power to kill Xylok
   clear-lock         Remove any existing installation lock file
   add-service        Install systemd unit file
   enable-service     Enable systemd service
   migrate-database   Ensure all database migrations are applied
   user               Create user for Xylok service to run as, plus ensure it is configured correctly
   grant-net-bind     Give current executable CAP_NET_BIND_SERVICE privileges
   import-benchmarks  Import the latest version of the benchmarks
   system-config      Ensure various system configuration settings are correct
   extract-scripts    Extract convenience scripts in installation directory
   clean-images       Remove all Xylok images that are not needed
   load-images        Load all embeded images into container engine
   extract-images     Extract all embeded images into directory

OPTIONS:
   --skip-backup     Do not backup existing database during installation (default: false)
   --noninteractive  Do no try to collect user input (in particular, won't prompt to create the superuser) (default: false)
   --help, -h        show help