# REQUIRED PARAMETERS

# IP address or FQDN for the Flix Server to run on.
hostname: flix001.mycompany.com

# Port number that the Flix Server HTTP API should listen on.
http_port: 8080

## Port number the server listens on for RPC transfers from the Flix Client transfer utility. You only need to add this option if you want to change the default port.
#client_transfer_port: 9091

# Address of the MySQL server. Can be either an IP address or a FQDN. May be 'localhost' if MySQL is running on the same server as Flix.
mysql_hostname: db1.mycompany.com

# MySQL username with access to the Flix schema.
mysql_username: my_username

# MySQL password corresponding to the MySQL username.
mysql_password: my_password

## Licensing
## Address of the license server (if using floating licensing).
#floating_license_hostname: licserver.mycompany.com
## The port that the license server is listening on (if using floating licensing). The default (and recommended) port is 4101.
#floating_license_port: 4101
# Path to the license directory (if using nodelocked licensing).
licence_directory: /usr/local/foundry


# RECOMMENDED PARAMETERS

## If you use the same shared storage across all your Flix servers you should set shared_storage to true. Defaults to false. Requires 'asset_directory' below to also be set.
#shared_storage: true

## Path to where assets should be stored. Defaults to the Flix Server install directory.
#asset_directory: /mnt/flix/


# OPTIONAL PARAMETERS

## Google Sign-In settings.
## Do not enable at the same time as LDAP.
## For more information about user management, see https://learn.foundry.com/flix/Content/install/user_management.html.
#oauth:
#  # Enables Google Sign-In.
#  use_oauth: true
#  # If set to 'email', the user's email address will be used as the username in Flix. By default, the user's full name will be used.
#  username: email
#  # The domain name of your OAuth provider.
#  domain: "mycompany.com"
#  # A list of providers to enable. Only 'Google' is currently supported.
#  providers:
#    - Google

## AD/LDAP authentication settings.
## Do not enable at the same time as Google Sign-In.
## For more information about user management, see https://learn.foundry.com/flix/Content/install/user_management.html.
#ldap:
#  # Enables LDAP authentication.
#  use_ldap: true
#  # The base where Flix should search for the user account.
#  base: dc=mycompany,dc=com
#  # The hostname of the LDAP server.
#  host: auth.mycompany.com
#  # The port used by the LDAP server. Defaults to 389. Setting this to 636 will force the use of SSL encryption regardless of the 'use_ssl' setting.
#  port: 389
#  # Enable SSL encryption when looking up the user. Defaults to false.
#  use_ssl: false
#  # Set to true if not using a service account for LDAP/AD lookups, in which case the username and password of the user logging in will be used. If false, 'bind_user' and 'bind_pass' must be specified.
#  self_auth: true
#  # The username of the service account to use for lookups. Must be specified if 'self_auth' is false.
#  bind_user: bind_user
#  # The password of the service account to use for lookups. Must be specified if 'self_auth' is false.
#  bind_pass: bind_password
#  # Custom criteria for user lookups.
#  user_search:
#    # Where to search for the user. If not specified, the value of 'base' will be used.
#    dn: ou=People,dc=mycompnay,dc=com
#    # Filter to apply when searching the directory. Defaults to '(objectClass=organizationalPerson)'.
#    filter: (objectClass=organizationalPerson)
#    # The attribute to use for the Flix username. Defaults to 'uid'.
#    user_attr: uid
#    # The attribute to use for the email address of the user. Defaults to 'mail'.
#    email_attr: description
#  # Custom criteria for group lookups.
#  group_search:
#    # Where to search for groups. If not specified, the value of 'base' will be used.
#    dn: ou=Groups,dc=mycompany,dc=com
#    # Filter to apply when searching for groups. No filter is used by default.
#    filter: (objectClass=posixGroup)
#    # The user attribute that matches the attribute specified by 'group_attr'. Defaults to 'uid'.
#    user_attr: uid
#    # The group attribute identifying its member users. The value should match the user attribute specified by 'user_attr'. Defaults to 'member'.
#    group_attr: member
#    # The attribute to use for the name of the group in Flix. Defaults to 'name'.
#    name_attr: displayName
#    # Only groups that start with this string will be added to Flix when a user logs in.
#    group_prefix: flix_
#    # Only groups that end with this string will be added to Flix when a user logs in.
#    group_suffix: _flix
#  # A required list of roles to use for each LDAP group. If a group does not match any entry, it will be ignored.
#  # If neither group_prefix nor group_suffix are specified, all groups will match.
#  # If a group matches multiple entries, the role specified in the first matching entry will be used.
#  roles:
#    # users in groups that end with '_manager' will be assigned as show managers
#    - group_suffix: _manager # Matches groups ending with '_manager'.
#      name_attr: displayName # Specifies what field to match against. By default, the value of name_attr in group_search is used.
#      role: Show manager # The Flix role to assign users in matching groups to.
#    # users in groups that start with 'flix_' will be assigned as regular users
#    - group_prefix: flix_ # Matches groups that start with 'flix_'.
#      role: Regular user
#    # fallback role, assigns users in all groups that were not matched above as view-only users
#    - role: View only
#  # A complete list of LDAP users that are allowed to log in to Flix. Cannot be specified at the same time as forbidden_users.
#  allowed_users:
#    - admin
#    - user1
#    - user2
#  # A list of LDAP users that are forbidden from logging in to Flix. Cannot be specified at the same time as allowed_users.
#  forbidden_users:
#    - forbidden_user1
#    - forbidden_user2
#  # If specified, a user must be in all listed groups to log in.
#  required_groups:
#    - flix
#  # If specified, any user that is a member of a listed group will not be allowed to log in.
#  forbidden_groups:
#    - not_flix

## Email parameters for editorial publish notifications.
#smtp:
#  # Hostname of the SMTP server.
#  smtp_hostname: smtp.mycompany.com
#  # Port of the SMTP server.
#  smtp_port: 465
#  # Username for authenticating with the SMTP server. Optional.
#  smtp_username: example@mycompany.com
#  # Password for authenticating with the SMTP server. Optional.
#  smtp_password: my_password
#  # The email address to use as the sender of the email. If not specified, an appropriate default address will be used.
#  smtp_send_from: admin@mycompany.com

## MySQL parameters. Default values listed.
## The port that the MySQL server listens on.
#mysql_port: 3306
## The name of the database to use, if something other than "flix".
#mysql_database: flix
## The maximum amount of time to wait when attempting to connect to a database.
#mysql_dial_timeout: 10s
## The maximum amount of time to wait when reading incoming data.
#mysql_read_timeout: 5m
## The maximum amount of time to wait when writing outgoing data.
#mysql_write_timeout: 10m
## The maximum number of connections a single Flix server may establish to the MySQL server at the same time.
#mysql_max_connections: 70

## HTTPS settings for encrypting communication between the Flix server and clients.
#tls:
#  # A root or intermediate certificate. Required when using a self-signed certificate, in which the same certificate should be provided to all Flix servers.
#  ca_file: /Foundry/cert/ca.crt
#  # The TLS certificate for this server. Must be provided to enable HTTPS.
#  cert: /Foundry/cert/cert.crt
#  # The private key for this server. Must be provided to enable HTTPS.
#  key: /Foundry/cert/server.key

## Security-related options.
#security:
#  # If set to true, disables the requirement that all HTTP requests must use the hostname specified in the 'hostname' setting.
#  disable_hostname_check: false
#  # If set to true, tells Flix not to encrypt file transfers. Useful for skipping certificate validation when using a proxy server.
#  skip_transfer_tls: false

## Proxy settings for using an intermediate HTTP proxy server between the client and the Flix server(s).
## All three settings must be specified to enable the proxy server.
#proxy:
#  # The hostname of the proxy server.
#  host: flix.mycompany.com
#  # The port on which the proxy server listens for HTTP(S) traffic. Traffic to this port should be forwarded to the Flix server on the port specified in the 'http_port' setting.
#  port: 8888
#  # The port on which the proxy server listens for file transfers. Traffic to this port should be forwarded to the Flix server on the port specified in the 'client_transfer_port' setting.
#  transfer_port: 9999

## Enables the webhook system, allowing external services to listen for Flix events.
#webhook:
#  enabled: true

## Transcoding parameters. Default values listed.
#max_thumbnail_height: 1000
#max_thumbnail_width: 1000

## The location where database backups will be saved by default.
#db_backup_directory: /mnt/flix/backup

## Logs
## The maximum log file size in megabytes. After this limit is reached, the log file is rotated.
#max-log-mb: 5
## The location of the server logs. If the directory does not exist, Flix will create it. By default, the logs are saved to flix_server.log file in the directory containing the Flix server executable.
#log_file: /usr/local/foundry/flix_server.log
## Modifies what information is included in the logs.
#log_thread_info:
#  # If set to false, information about the user that initiated an action will not be logged.
#  user: true
#  # If set to false, information about what client initiated an action will not be logged.
#  client_id: true
#  # If set to false, information about what server performed an action will not be logged.
#  server: true

## Path to access fonts. Flix needs the Arial font for publishing. If you have it installed on the system, Flix will automatically find it. You can use this option to point Flix to a custom font location.
#font_directory: /usr/local/foundry/fonts

## The maximum number of files that the Flix server may have open at one time.
#max_open_files: 1000

## The local port to use for the license verification process.
#entitlement_port: 8383

## The port to use for server-to-server communication.
#server_comms_port: 9876

## The port used for communication between the Flix server and the local Python process.
#python_rpc_port: 9991

## The path to the Python binary to use. Do not change unless you know what you are doing. By default, the Python distribution included with the Flix server is used.
#python_path: thirdparty/python/linux/bin/python3

# For more information go to https://learn.foundry.com/flix/Content/reference/server_options.html