This commit adds comprehensive email configuration for both Authentik and Nextcloud, integrated with Mailgun SMTP credentials. Features Added: - Mailgun role integration in deploy.yml playbook - Authentik email configuration display task - Nextcloud SMTP configuration with admin email setup - Infrastructure prerequisite checking in deploy playbook Changes: - deploy.yml: Added Mailgun role and base infrastructure check - authentik/tasks/email.yml: Display email configuration status - authentik/tasks/main.yml: Include email task when credentials exist - nextcloud/tasks/email.yml: Configure SMTP and admin email - nextcloud/tasks/main.yml: Include email task when credentials exist This ensures: ✓ Mailgun SMTP credentials are created/loaded automatically ✓ Authentik email works via docker-compose environment variables ✓ Nextcloud SMTP is configured via occ commands ✓ Admin email address is set automatically ✓ Email works immediately on new deployments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
2.1 KiB
YAML
46 lines
2.1 KiB
YAML
---
|
|
# Configure Nextcloud email settings via Mailgun SMTP
|
|
|
|
- name: Determine SMTP credentials source
|
|
set_fact:
|
|
smtp_user: "{{ mailgun_smtp_user | default(client_secrets.mailgun_smtp_user) }}"
|
|
smtp_password: "{{ mailgun_smtp_password | default(client_secrets.mailgun_smtp_password) }}"
|
|
no_log: true
|
|
|
|
- name: Configure SMTP email settings
|
|
shell: |
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtpmode --value="smtp"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtpsecure --value="tls"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtphost --value="smtp.eu.mailgun.org"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtpport --value="587"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtpauth --value="1"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtpname --value="{{ smtp_user }}"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_smtppassword --value="{{ smtp_password }}"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_from_address --value="{{ inventory_hostname }}"
|
|
docker exec -u www-data nextcloud php occ config:system:set mail_domain --value="mg.vrije.cloud"
|
|
no_log: true
|
|
register: email_config
|
|
changed_when: true
|
|
|
|
- name: Configure admin user email address
|
|
shell: |
|
|
docker exec -u www-data nextcloud php occ user:setting {{ client_secrets.nextcloud_admin_user }} settings email "{{ inventory_hostname }}@mg.vrije.cloud"
|
|
register: admin_email_set
|
|
changed_when: true
|
|
|
|
- name: Display email configuration status
|
|
debug:
|
|
msg: |
|
|
========================================
|
|
Nextcloud Email Configuration
|
|
========================================
|
|
|
|
SMTP Host: smtp.eu.mailgun.org
|
|
SMTP Port: 587 (TLS)
|
|
From Address: {{ inventory_hostname }}@mg.vrije.cloud
|
|
Admin Email: {{ inventory_hostname }}@mg.vrije.cloud
|
|
|
|
Status: ✓ Configured
|
|
|
|
Test: Settings → Basic settings → Send email
|
|
========================================
|