{% include 'roles/sys-svc-container/templates/env.j2' %} LOCAL_DOMAIN={{ lookup('domain',application_id) }} ALTERNATE_DOMAINS={{ lookup('domains', 'web-app-mastodon')[1:] | join(',') }} SINGLE_USER_MODE={{ lookup('config', application_id, 'services.mastodon.single_user_mode') }} ALLOWED_PRIVATE_ADDRESSES={{ MASTODON_ALLOWED_PRIVATE_ADDRESSES }} RAILS_ENV=production {% if MODE_DEBUG | bool %} RAILS_LOG_LEVEL=debug DEBUG=* {% endif %} SECRET_KEY_BASE={{ lookup('config', application_id, 'secrets.credentials.secret_key_base') }} OTP_SECRET={{ lookup('config', application_id, 'secrets.credentials.otp_secret') }} VAPID_PRIVATE_KEY={{ lookup('config', application_id, 'secrets.credentials.vapid_private_key') }} VAPID_PUBLIC_KEY={{ lookup('config', application_id, 'secrets.credentials.vapid_public_key') }} ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY={{ lookup('config', application_id, 'secrets.credentials.active_record_encryption_deterministic_key') }} ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT={{ lookup('config', application_id, 'secrets.credentials.active_record_encryption_key_derivation_salt') }} ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY={{ lookup('config', application_id, 'secrets.credentials.active_record_encryption_primary_key') }} DB_HOST={{ lookup('database', application_id, 'host') }} DB_PORT={{ lookup('database', application_id, 'port') }} DB_NAME={{ lookup('database', application_id, 'name') }} DB_USER={{ lookup('database', application_id, 'username') }} DB_PASS={{ lookup('database', application_id, 'password') }} DB_POOL={{ POSTGRES_ALLOWED_AVG_CONNECTIONS }} RAILS_MAX_THREADS={{ POSTGRES_ALLOWED_AVG_CONNECTIONS }} REDIS_HOST={{ lookup('engine', 'redis', application_id, 'host') }} REDIS_PORT={{ lookup('engine', 'redis', application_id, 'port') }} REDIS_PASSWORD={{ lookup('engine', 'redis', application_id, 'password') | dotenv_quote }} {% if lookup('objstore', application_id, 'enabled') | bool %} S3_ENABLED=true S3_BUCKET={{ lookup('objstore', application_id, 'bucket') }} AWS_ACCESS_KEY_ID={{ lookup('objstore', application_id, 'access_key') }} AWS_SECRET_ACCESS_KEY={{ lookup('objstore', application_id, 'secret_key') }} S3_ENDPOINT={{ lookup('objstore', application_id, 'url') }} S3_REGION={{ lookup('objstore', application_id, 'region') }} S3_PROTOCOL={{ lookup('tls', lookup('objstore', application_id, 'id'), 'protocols.web') }} S3_HOSTNAME={{ lookup('objstore', application_id, 'endpoint') }} S3_ALIAS_HOST={{ lookup('objstore', application_id, 'public_bucket') }} {% endif %} {% set email = lookup('email', application_id) %} {% if email.enabled | bool %} SMTP_SERVER={{ email.host }} SMTP_PORT={{ email.port }} SMTP_LOGIN={{ email.username }} SMTP_PASSWORD={{ email.password | dotenv_quote }} SMTP_AUTH_METHOD=plain SMTP_OPENSSL_VERIFY_MODE=none SMTP_ENABLE_STARTTLS=auto SMTP_FROM_ADDRESS=Mastodon <{{ email['from'] }}> {% endif %} {% if MASTODON_OIDC_ENABLED | bool %} OIDC_ENABLED={{ MASTODON_OIDC_ENABLED | string | lower }} OIDC_DISPLAY_NAME={{ OIDC.BUTTON_TEXT }} OIDC_ISSUER={{ OIDC.CLIENT.ISSUER_URL }} OIDC_DISCOVERY=true OIDC_SCOPE=openid,profile,email OIDC_UID_FIELD={{ OIDC.ATTRIBUTES.USERNAME }} OIDC_CLIENT_ID={{ OIDC.CLIENT.ID }} OIDC_REDIRECT_URI={{ lookup('tls', application_id, 'url.base') }}auth/auth/openid_connect/callback OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true OIDC_CLIENT_SECRET={{ OIDC.CLIENT.SECRET }} OMNIAUTH_ONLY=true ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true ONE_CLICK_SSO_LOGIN=true {% endif %}