The playbook can configure Dynamic DNS with ddclient for you. It is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider.
Most cloud providers / ISPs will charge you extra for a static IP address. If you're not hosting a highly reliable homeserver you can workaround this via dynamic DNS.
You'll need to get a username and password from your DNS provider. Please consult with the provider about how to retrieve them.
To enable dynamic DNS, add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml
file:
matrix_dynamic_dns_enabled: true
matrix_dynamic_dns_domain_configurations:
- provider: example.net
protocol: dyndn2
username: YOUR_USERNAME_HERE
password: YOUR_PASSWORD_HERE
domain: "{{ matrix_domain }}"
After configuring the playbook, run it with playbook tags as below:
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
The shortcut commands with the just
program are also available: just install-all
or just setup-all
just install-all
is useful for maintaining your setup quickly (2x-5x faster than just setup-all
) when its components remain unchanged. If you adjust your vars.yml
to remove other components, you'd need to run just setup-all
, or these components will still remain installed. Note these shortcuts run the ensure-matrix-users-created
tag too.
Additional resources: