{% include 'roles/sys-svc-container/templates/env.j2' %} APP_ENV=prod APP_DEBUG={{ (MODE_DEBUG | bool and not (SUITECRM_SSO_ENABLED | bool)) | ternary(1, 0) }} SERVER_SCHEME={{ lookup('tls', application_id, 'protocols.web') }} TRUSTED_PROXIES={{ NETWORK_TRUSTED_PROXY_CIDRS | join(',') }} TRUSTED_HOSTS=^{{ domain | replace('.', '\\.') }}$ DATABASE_URL=mysql://{{ lookup('database', application_id, 'username') }}:{{ lookup('database', application_id, 'password') | urlencode }}@{{ lookup('database', application_id, 'host') }}:{{ lookup('database', application_id, 'port') }}/{{ lookup('database', application_id, 'name') }} SUITECRM_DB_HOST={{ lookup('database', application_id, 'host') }} SUITECRM_DB_PORT={{ lookup('database', application_id, 'port') }} SUITECRM_DB_NAME={{ lookup('database', application_id, 'name') }} SUITECRM_DB_USER={{ lookup('database', application_id, 'username') }} SUITECRM_DB_PASSWORD={{ lookup('database', application_id, 'password') | dotenv_quote }} SUITECRM_ADMIN_USERNAME={{ lookup('config', application_id, 'users.administrator.username') }} SUITECRM_ADMIN_PASSWORD={{ lookup('config', application_id, 'secrets.credentials.administrator_password') | dotenv_quote }} SUITECRM_ADMIN_EMAIL={{ lookup('users', 'administrator').email }} SUITECRM_URL={{ SUITECRM_URL }} SUITECRM_SESSION_SAVE_PATH={{ lookup('engine', 'redis', application_id, 'session_path') }} {% if SUITECRM_SSO_ENABLED | bool %} AUTH_TYPE=saml SAML_IDP_ENTITY_ID={{ OIDC.CLIENT.ISSUER_URL }} SAML_IDP_SSO_URL={{ [OIDC.CLIENT.ISSUER_URL, 'protocol/saml'] | path_join }} SAML_IDP_SLO_URL={{ [OIDC.CLIENT.ISSUER_URL, 'protocol/saml'] | path_join }} SAML_SP_ENTITY_ID={{ SUITECRM_SAML_SP_ENTITY_ID }} SAML_COMPRESS_REQUESTS=true SAML_USE_ATTRIBUTE_FRIENDLY_NAME=false SAML_USERNAME_ATTRIBUTE={{ OIDC.ATTRIBUTES.USERNAME }} SAML_AUTO_CREATE=enabled SAML_AUTOCREATE_ATTRIBUTES_MAP={"{{ OIDC.ATTRIBUTES.USERNAME }}":"user_name","email":"email1","firstName":"first_name","lastName":"last_name"} SUITECRM_SAML_IDP_DESCRIPTOR_URL={{ SUITECRM_SAML_IDP_DESCRIPTOR_URL }} {% if SUITECRM_OIDC_SOCKS_PROXY | length > 0 %} SUITECRM_OIDC_SOCKS_PROXY={{ SUITECRM_OIDC_SOCKS_PROXY }} {% endif %} {% elif SUITECRM_LDAP_ENABLED | bool %} AUTH_TYPE=ldap LDAP_AUTO_CREATE=enabled LDAP_PROVIDER_BASE_DN={{ LDAP.DN.OU.USERS | dotenv_quote }} LDAP_PROVIDER_SEARCH_DN={{ LDAP.DN.ADMINISTRATOR.DATA | dotenv_quote }} LDAP_PROVIDER_SEARCH_PASSWORD={{ LDAP.BIND_CREDENTIAL | dotenv_quote }} LDAP_PROVIDER_DEFAULT_ROLES=ROLE_USER LDAP_PROVIDER_UID_KEY={{ LDAP.USER.ATTRIBUTES.ID | dotenv_quote }} LDAP_PROVIDER_FILTER={{ (LDAP.USER.ATTRIBUTES.ID ~ '={username}') | dotenv_quote }} LDAP_CONNECTION_OPTION_DEBUG_LEVEL={{ MODE_DEBUG | bool | ternary(7, 0) }} LDAP_HOST={{ LDAP.SERVER.DOMAIN }} LDAP_PORT={{ LDAP.SERVER.PORT }} LDAP_ENCRYPTION={{ (LDAP.SERVER.SECURITY or 'none') | lower }} LDAP_PROTOCOL_VERSION=3 LDAP_REFERRALS=false LDAP_DN_STRING={{ LDAP.DN.OU.USERS }} LDAP_QUERY_STRING={{ LDAP.USER.ATTRIBUTES.ID }}={username} LDAP_SEARCH_DN={{ LDAP.DN.ADMINISTRATOR.DATA }} LDAP_SEARCH_PASSWORD={{ LDAP.BIND_CREDENTIAL | dotenv_quote }} {% else %} AUTH_TYPE=native {% endif %} NODE_OPTIONS=--max-old-space-size={{ SUITECRM_MAX_OLD_SPACE_SIZE }}