Add comprehensive push notification infrastructure with: - Gotify server for push notifications with admin password configuration - iGotify Assistant service for iOS notification relay via Apple Push Notifications - Dual subdomain setup (gotify.* and gotify-assistant.*) - Proper service dependencies and container communication via hairpinning - Caddy reverse proxy configuration for both services - DNS A records for both subdomains - Added to monitoring services category - Tested with successful notification delivery Services accessible at: - https://gotify.thesatelliteoflove.com (main server) - https://gotify-assistant.thesatelliteoflove.com (iOS assistant) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
---
|
|
# dns.yml
|
|
- name: Add A Records for thesatelliteoflove.com and nerder.land
|
|
hosts: localhost
|
|
gather_facts: false
|
|
|
|
vars:
|
|
# Domains to manage DNS records for
|
|
domains:
|
|
- name: thesatelliteoflove.com
|
|
dns_records:
|
|
- name: "pin"
|
|
ip: "152.53.36.98"
|
|
- name: "home"
|
|
ip: "152.53.36.98"
|
|
- name: "git"
|
|
ip: "152.53.36.98"
|
|
- name: "social"
|
|
ip: "152.53.36.98"
|
|
- name: "auth"
|
|
ip: "152.53.36.98"
|
|
- name: "audio"
|
|
ip: "152.53.36.98"
|
|
- name: "books"
|
|
ip: "152.53.36.98"
|
|
- name: "paper"
|
|
ip: "152.53.36.98"
|
|
- name: "code"
|
|
ip: "152.53.36.98"
|
|
- name: cal
|
|
ip: "152.53.36.98"
|
|
- name: phlog
|
|
ip: "152.53.36.98"
|
|
- name: loclog
|
|
ip: "152.53.36.98"
|
|
- name: watcher
|
|
ip: "152.53.36.98"
|
|
- name: models
|
|
ip: "152.53.36.98"
|
|
- name: tasks
|
|
ip: "152.53.36.98"
|
|
- name: post
|
|
ip: "152.53.36.98"
|
|
- name: files
|
|
ip: "152.53.36.98"
|
|
- name: bookmarks
|
|
ip: "152.53.36.98"
|
|
- name: gotify
|
|
ip: "152.53.36.98"
|
|
- name: gotify-assistant
|
|
ip: "152.53.36.98"
|
|
- name: nerder.land
|
|
dns_records:
|
|
- name: "forms"
|
|
ip: "152.53.36.98"
|
|
- name: "repair"
|
|
ip: "152.53.36.98"
|
|
|
|
tasks:
|
|
- name: Add A records for subdomains of each domain
|
|
amazon.aws.route53:
|
|
state: present
|
|
zone: "{{ item.0.name }}"
|
|
record: "{{ item.0.name if item.1.name == '@' else item.1.name + '.' + item.0.name }}"
|
|
type: A
|
|
ttl: 300
|
|
value: "{{ item.1.ip }}"
|
|
loop: "{{ query('subelements', domains, 'dns_records') }}"
|
|
loop_control:
|
|
loop_var: item
|