hi @Neil_Carmichael
Thanks for sharing the screenshots and the details — that helped clarify the situation.
the reason the custom emails are not being picked up is where and how the templates are mounted inside the container. This is expected behavior in Docker/Fargate setups and is documented by n8n.
n8n does not search for email templates automatically and does not log an error if they are missing.
According to the n8n documentation, custom email templates are:
- Loaded only once at startup
- Loaded only from the exact absolute paths defined in the environment variables
- Silently ignored if the file does not exist or is not readable
In your case:
- You mounted EFS to
/ (root)
- The template paths technically exist on EFS
- But in Fargate, mounting to
/ makes file resolution unreliable
- As a result, when n8n starts, it does not see the template files where it expects them
- n8n then falls back to the default branded templates (by design)
This is why:
- Emails are sent successfully
- No error appears in the logs
- Branding remains unchanged
This behavior is explicitly described in the n8n email customization documentation.
solution (recommended by n8n)
1. Mount EFS to a dedicated directory
Update your Fargate task definition to mount EFS to a clear, explicit path, for example:
/opt/n8n/templates
Do not mount it to /.
2. Place the templates in that directory
Inside EFS, ensure the files exist exactly as expected:
/opt/n8n/templates/credentials-shared.handlebars
/opt/n8n/templates/user-invited.handlebars
/opt/n8n/templates/password-reset-requested.handlebars
/opt/n8n/templates/workflow-shared.handlebars
You should be able to confirm this inside the running container with:
ls /opt/n8n/templates
3. Use absolute paths in environment variables
Set the environment variables like this:
N8N_UM_EMAIL_TEMPLATES_CREDENTIALS_SHARED=/opt/n8n/templates/credentials-shared.handlebars
N8N_UM_EMAIL_TEMPLATES_INVITE=/opt/n8n/templates/user-invited.handlebars
N8N_UM_EMAIL_TEMPLATES_PROJECT_SHARED=/opt/n8n/templates/credentials-shared.handlebars
N8N_UM_EMAIL_TEMPLATES_PWRESET=/opt/n8n/templates/password-reset-requested.handlebars
N8N_UM_EMAIL_TEMPLATES_WORKFLOW_SHARED=/opt/n8n/templates/workflow-shared.handlebars
Important notes from the documentation:
- Relative paths are not supported
- Paths must resolve correctly at startup
4. Restart the Fargate task (mandatory)
n8n loads email templates only during startup.
Any change to:
- template files
- mount points
- environment variables
requires a full task restart.
5. Check file permissions
Ensure the templates are readable by the n8n process:
chmod 644 *.handlebars
If permissions are incorrect, n8n will again fall back to defaults without logging an error.
How to confirm it’s fixed
- Restart the Fargate task
- Trigger a password reset or invite email
- Verify that:
- n8n branding is gone
- Your custom template content is used
Once the files exist at the correct absolute path and are readable, n8n will consistently use them.