bc110ce69e
Extends the Nextcloud backup machinery rather than adding a second
mechanism. cloud-backup.sh.j2 gains three guarded options, all no-ops for
the existing callers:
backup_podman_user Gitea runs rootless under `git`, not `podman`
backup_db_type postgres (Gitea) and mysql (BookStack) alongside
mariadb; each engine's completion trailer differs,
and grepping for the wrong one fails every run
backup_sqlite_dbs `sqlite3 .backup` for live WAL-mode SQLite, gated on
`pragma integrity_check` before promotion -- rsync
is either stale (no -wal) or torn (with it)
New instances: gitea-debyl, skudak-gitea, bookstack, partsy-skudak. The
alert handler is rendered once and shared, so its wording is now generic
rather than per-product; TAG stays nextcloud-backup because an external
Graylog rule matches on it.
`apply:` on the includes is load-bearing -- tags on a dynamic
include_tasks do not reach the tasks inside it.
Business data (skudak-gitea, bookstack, partsy-skudak) goes to TrueNAS
and on to Skudak's own iDrive account; the personal bucket's
/skudak*/** excludes are permanent, not a stopgap.
Removals: PartKeepr is superseded by Partsy, and its teardown never
finished -- it targeted /etc/systemd/system/podman-partkeepr*.service,
wrong prefix and wrong scope, leaving enabled user units in failed state.
Pi-hole's role was already orphaned (absent from deploy_home.yml); its
port 53 rule went with it after confirming nothing listens there.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
75 lines
1.4 KiB
YAML
75 lines
1.4 KiB
YAML
---
|
|
- name: set required podman firewall rules
|
|
become: true
|
|
ansible.posix.firewalld:
|
|
port: "{{ item }}"
|
|
permanent: true
|
|
immediate: true
|
|
state: enabled
|
|
loop:
|
|
- "{{ syslog_udp_default }}/udp"
|
|
- "{{ syslog_udp_error }}/udp"
|
|
- "{{ syslog_udp_unifi }}/udp"
|
|
# web server (Caddy)
|
|
- 80/tcp
|
|
- 443/tcp
|
|
# Gitea Skudak SSH
|
|
- 2222/tcp
|
|
# nosql/redis
|
|
- 6379/tcp
|
|
# BookStack (wiki.skudak.com) -- container publishes 6875:8080
|
|
- 6875/tcp
|
|
# Satisfactory
|
|
- 7777/tcp
|
|
- 7777/udp
|
|
- 15000/udp
|
|
- 15000/tcp
|
|
- 15777/udp
|
|
- 15777/tcp
|
|
# Factorio
|
|
- 27015/tcp
|
|
- 34197/udp
|
|
# Zomboid
|
|
- 16261/udp
|
|
- 16262/udp
|
|
# crafty
|
|
- 8443/tcp
|
|
# minecraft
|
|
- 25565/tcp
|
|
- 25565/udp
|
|
notify: restart firewalld
|
|
tags: firewall
|
|
|
|
- name: unset non-required podman firewall rules
|
|
become: true
|
|
ansible.posix.firewalld:
|
|
port: "{{ item }}"
|
|
permanent: true
|
|
immediate: true
|
|
state: disabled
|
|
loop:
|
|
- 1153/tcp
|
|
- 1153/udp
|
|
- 2000/udp
|
|
- 2456/udp
|
|
- 2457/udp
|
|
- 9093/tcp
|
|
- 9092/tcp
|
|
- 9091/tcp
|
|
- 9091/udp
|
|
- 9092/udp
|
|
# cam2ip
|
|
- 56000/tcp
|
|
- 56000/udp
|
|
# Palworld
|
|
- 8211/udp
|
|
- 25575/udp
|
|
# bunkerweb waf test ports
|
|
- 1080/tcp
|
|
- 1443/tcp
|
|
- 7000/tcp
|
|
# gelf-proxy (removed - now using GELF HTTP via Caddy)
|
|
- 12201/udp
|
|
notify: restart firewalld
|
|
tags: firewall
|