# Copy this file to .env, then update it with your own settings


######################################################
# Instance configuration                             #
######################################################

# The name for your instance
MOBILIZON_INSTANCE_NAME={{ applications | get_app_conf(application_id, 'titel', True) }}

# Your domain
MOBILIZON_INSTANCE_HOST={{ domains | get_domain(application_id) }}

# The IP to listen on (defaults to 0.0.0.0)
# MOBILIZON_INSTANCE_LISTEN_IP

# The port to listen on (defaults to 4000). Point your reverse proxy on this port.
MOBILIZON_INSTANCE_PORT={{ container_port }}

# Whether registrations are opened or closed. Can be changed in the admin settings UI as well.
# Make sure to moderate actively your instance if registrations are opened.
MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=false

# From which email will the emails be sent
MOBILIZON_INSTANCE_EMAIL={{ users["no-reply"].email }}

# To which email with the replies be sent
MOBILIZON_REPLY_EMAIL={{ users["administrator"].email }}

# The loglevel setting.
# You can find accepted values here: https://hexdocs.pm/logger/Logger.html#module-levels
# Defaults to error
MOBILIZON_LOGLEVEL={% if MODE_DEBUG | bool %}debug{% else %}error{% endif %}

######################################################
# Database settings                                  #
######################################################

# The values below will be given to both the PostGIS (PostgreSQL) and Mobilizon containers
# Use the next settings if you plan to use an existing external database

# The Mobilizon Database username. Defaults to $POSTGRES_USER.
# Change if using an external database.
MOBILIZON_DATABASE_USERNAME={{ database_username }}

# The Mobilizon Database password. Defaults to $POSTGRES_PASSWORD.
# Change if using an external database.
MOBILIZON_DATABASE_PASSWORD={{ database_password }}

# The Mobilizon Database name. Defaults to $POSTGRES_DB.
# Change if using an external database.
MOBILIZON_DATABASE_DBNAME={{ database_name }}

# The Mobilizon database host. Useful if using an external database.
MOBILIZON_DATABASE_HOST={{ database_host }}

# The Mobilizon database port. Useful if using an external database.
MOBILIZON_DATABASE_PORT={{ database_port }}

# Whether to use SSL to connect to the Mobilizon database. Useful if using an external database.
# MOBILIZON_DATABASE_SSL=false

# Not sure which of the following variables apply
DATABASE_POOL_SIZE="{{ POSTGRES_ALLOWED_AVG_CONNECTIONS }}"
POOL_SIZE="{{ POSTGRES_ALLOWED_AVG_CONNECTIONS }}"

######################################################
# Secrets                                            #
######################################################

# A secret key used as a base to generate secrets for encrypting and signing data.
# Make sure it's long enough (~64 characters should be fine)
# You can run `openssl rand -base64 48` to generate such a secret
MOBILIZON_INSTANCE_SECRET_KEY_BASE={{ applications | get_app_conf(application_id, 'credentials.secret_key_base', True) }}

# A secret key used as a base to generate JWT tokens
# Make sure it's long enough (~64 characters should be fine)
# You can run `openssl rand -base64 48` to generate such a secret
MOBILIZON_INSTANCE_SECRET_KEY={{ applications | get_app_conf(application_id, 'credentials.secret_key', True) }}


######################################################
# Email settings                                     #
######################################################

# The SMTP server
# Defaults to localhost
MOBILIZON_SMTP_SERVER={{ SYSTEM_EMAIL.HOST }}
MOBILIZON_SMTP_PORT={{ SYSTEM_EMAIL.PORT }}
MOBILIZON_SMTP_USERNAME={{ users['no-reply'].email }}
MOBILIZON_SMTP_PASSWORD={{ users['no-reply'].mailu_token }}

# Whether to use SSL for SMTP.
# Boolean
# Defaults to false
MOBILIZON_SMTP_SSL=false

# Deactivate Database Login if OIDC or LDAP are enabled
MOBILIZON_INSTANCE_DISABLE_DATABASE_LOGIN={{ (applications | get_app_conf(application_id, 'features.ldap', False) or applications | get_app_conf(application_id, 'features.oidc', False)) | lower }}

# Whether to use TLS for SMTP.
# Allowed values: always (TLS), never (Clear) and if_available (STARTTLS)
# Make sure to match the port value as well
# Defaults to "if_available"
MOBILIZON_SMTP_TLS={% if SYSTEM_EMAIL.TLS %}TLS{% elif SYSTEM_EMAIL.START_TLS %}STARTTLS{% else %}Clear{% endif %}