FastX Environment Variables


FastX 4 can use environment variables to override configuration. The variables can also be configured in $FX_CONFIG_DIR/fastx.env

# This file is an .env file.  Any setting in this file can be overridden by an environment variable of the same name

# mail to send admin notifications to
ADMIN_EMAIL=

# send admin a notification when node connects
ADMIN_NOTIFY_NODE_CONNECT=true

# send admin a notification when node disconnects
ADMIN_NOTIFY_NODE_DISCONNECT=true

#end admin a notification when license cannot be reached
ADMIN_NOTIFY_LICENSE_UNREACHABLE=true

# send email when disk space is low
ADMIN_NOTIFY_LOW_DISK_GB=0

# file location of the admin password file.
ADMIN_PASSWORD_FILE=admin.secret

# issuer algorithm
ALGORITHM=

# Announcements.  Can be .html or .md (markup) format
ANNOUNCEMENTS_FILE=announcements.html

# search dir for session applications
# see session-application.schema.ini for application.ini format
APPLICATIONS_DIR=apps

# home page when logged out
AUTH_HOMEPAGE=/auth/ssh

# oidc file
AUTH_OIDC_FILE=auth-oidc.ini

# oidc json file from GCP
AUTH_OIDC_GOOGLE_FILE=

# saml file
AUTH_SAML_FILE=auth-saml.ini

# proxy login file
AUTH_PROXY_FILE=auth-proxy.ini

# disable ssh authentication
AUTH_SSH_DISABLE=false


# disable public key authentication
AUTH_SSH_DISABLE_PUBLIC_KEY_AUTHENTICATION=false

# disable launching link daemons
AUTH_SSH_DISABLE_DAEMON=false

# enable the ssh banner
AUTH_SSH_ENABLE_BANNER=false

# hide the manage ssh keys in the login page
AUTH_SSH_HIDE_MANAGE_KEYS=false

# hide the ssh password in the login page
AUTH_SSH_HIDE_PASSWORD=false

# passoword prompt regex to inject the password in on keyboard interactive
AUTH_SSH_PASSWORD_PROMPT_REGEX=^[p|P]assword

# ssh port for authentication
AUTH_SSH_PORT=22

# length in seconds before SSH authentication fails
AUTH_SSH_TIMEOUT=300

# how long for the authtoken to be valid
AUTH_SSH_TOKEN_EXPIRE=5m

# server build number
BUILD_NUMBER=

# Webserver certificate authority file
CA_FILE=

# Webserver certificate file
CERT_FILE=

# script to use when you need to change users to launch a session
CHANGE_USER_LAUNCHER_SCRIPT=

# Private key format
CHANGE_USER_SSH_KEY_FORMAT=PEM

# Private key type
CHANGE_USER_SSH_KEY_TYPE=rsa

# Private key size
CHANGE_USER_SSH_KEY_SIZE=2048

# Port to try change user ssh
CHANGE_USER_SSH_PORT=3322

# directory to store session cookies
COOKIES_DIR=cookies

# disable all api calls to update configs
DISABLE_CONFIG_WRITES=true

# disable TLS support on the web server
DISABLE_TLS=false

# HTML file for custom 403 errors
ERROR_403_FILE=403.html

# HTML file for custom 404 errors
ERROR_404_FILE=404.html

# HTML file for custom 500 errors
ERROR_500_FILE=500.html

# search dir for session forms
FORMS_DIR=forms

# Root path for configuration, local paths for configuration will look in this directory
FX_CONFIG_DIR=/etc/fastx

# Root path for storage of fastx data
FX_VAR_DIR=/var/fastx

# Root path of the fastx public web directory
FX_WEB_PUBLIC_DIR=

# Extra https configuration for the web server
HTTPS_FILE=https.ini

# Extra http headers to add to the the URL
HTTP_HEADERS_FILE=headers.ini

# issuer id for signing tokens
ISSUER=

# search dir for application icons
ICONS_DIR=icons

# Webserver certificate private key file
KEY_FILE=

# script to use to launch sessions
LAUNCHER_SCRIPT=

# comma separated list of arguments to pass to the launcher script
LAUNCHER_ARGS=

# launch as the current user or system user
LAUNCH_AS_CURRENT_USER=


# search dir for licenses
LICENSE_DIR=license

# Built in load balancer (sessions | random | local )
LOAD_BALANCER=

# Custom script to use for load balancing
LOAD_BALANCER_CUSTOM_SCRIPT=

# DEPRECATED: Password based local logins
LOCAL_LOGIN_FILE=auth-local.ini

# Disclaimer text to add to the login page
LOGIN_DISCLAIMER=

# Hide the login theme background
LOGIN_THEME_HIDE_BACKGROUND=

# Background to add to the login page
LOGIN_THEME_LOGO_BACKGROUND=

# Logo position on the login page
LOGIN_THEME_LOGO_POSITION=

# Extra middleware files to inject into the web server 
MIDDLEWARE_JS_FILES=

# Message of the day file.  Can be .html or .md (markup) format
MOTD_FILE=motd.html

# search dir for session performance settings
# ses session-performance.schema.ini
PERFORMANCE_DIR=performance

# Webserver port
PORT=3300

# issuer public key file
PUBLIC_KEY_FILE=

# user issuer public key files
PUBLIC_KEY_DIR=public_keys


# user issuer public key files expire tine
PUBLIC_KEY_EXPIRE_MINUTES=20160

# file for smtp settings
SMTP_FILE=smtp.ini

# Local temp location 
FX_TEMP_PATH=

# Theme settings file
THEME_FILE=theme.ini

# Theme logo
THEME_LOGO_FILE=logo.png

# File that holds transporter secrets
TRANSPORTER_FILE=transporter-secret.ini

# Script to run to get the user's groups, uid, gid, shell, home etc
USER_ID_SCRIPT=

# Ini file that holds the user permissions
USER_PERMISSIONS_FILE=user-permissions.schema.ini

# Directory of user storage
USERS_DIR=users

# Default keyboard layout for the user
USER_PREFS_KEYBOARD_LAYOUT=

# Script to run to get the user's default preferences (email)
USER_PREFERENCES_SCRIPT=

# Default connection type for the user
USER_PREFS_CONNECTION_TYPE=

# Array of notifications as the reminder
USER_PREFS_EMAIL_NOTIFY='["admin-terminate", "idle-terminate", "error-terminate"]'

# number of minutes session is disconnected before sending reminder email
USER_PREFS_EMAIL_NOTIFY_DISCONNECT_MINUTES=0

# number of minutes before session terminates to remind user to reconnect
USER_PREFS_EMAIL_NOTIFY_IDLE_TERMINATE_REMINDER_MINUTES=0

# Root directory of the user's file manager
USER_SHARING_ROOT_DIR=$HOME

# Max age of an api token
USER_TOKEN_MAX_AGE=7d

# for integration: disable all dialogs in the web client.
WEBCLIENT_HIDE_ALL_DIALOGS=false

# for integration: disable client menu in the web client.
WEBCLIENT_HIDE_CLIENT_MENU=false

# for integration: disable home button in the web client.
WEBCLIENT_HIDE_HOME_BUTTON=false

# for integration: open home button link in the same window
WEBCLIENT_HOME_BUTTON_SAME_WINDOW=false

# for integration: home button link location
WEBCLIENT_HOME_BUTTON_URL=../

# for integration: do not propagate messages to the parent browser window
WEBCLIENT_STOP_MESSAGE_PROPAGATION=false

# port number sessions connect to when using the weblink
WEBLINK_PORT=3320