Merge branch 'unifi-redux'

unifi-restore
Dustin 2025-03-29 08:03:39 -05:00
commit 00acc54402
14 changed files with 50 additions and 81 deletions

View File

@ -1,5 +1,6 @@
- import_playbook: facts.yml - import_playbook: facts.yml
- import_playbook: hostname.yml - import_playbook: hostname.yml
- import_playbook: useproxy.yml
- import_playbook: base.yml - import_playbook: base.yml
- import_playbook: firewalld.yml - import_playbook: firewalld.yml
- import_playbook: ssh-host-certs.yml - import_playbook: ssh-host-certs.yml

View File

@ -0,0 +1 @@
unifi_server_name: '{{ ansible_fqdn }}'

View File

@ -1,4 +1,8 @@
nginx_redirect_http_https: true unifi_server_name: unifi.pyrocufflink.blue
unifi_caddy_acme:
email: unifi@pyrocufflink.net
url: https://ca.pyrocufflink.blue/acme/acme/directory
unifi_exporter_site: Pyrocufflink unifi_exporter_site: Pyrocufflink
unifi_exporter_username: prometheus unifi_exporter_username: prometheus
unifi_exporter_password: !vault | unifi_exporter_password: !vault |

View File

@ -1,5 +1,6 @@
- import_playbook: bootstrap.yml - import_playbook: bootstrap.yml
- import_playbook: users.yml
- import_playbook: collectd.yml - import_playbook: collectd.yml
- import_playbook: promtail.yml - import_playbook: promtail.yml
- import_playbook: auto-updates.yml - import_playbook: auto-updates.yml

View File

@ -87,6 +87,10 @@ squid_http_access:
- allow unifi_controller dockerhub - allow unifi_controller dockerhub
- allow unifi_controller ghcr - allow unifi_controller ghcr
- allow unifi_controller linuxserverio - allow unifi_controller linuxserverio
- allow unifi_controller gitea
- allow unifi_controller fedora_repo
- allow unifi_controller dch_repo
- allow unifi_controller grafana_rpm
- allow trusted frigate github_api - allow trusted frigate github_api
- deny all - deny all

8
hosts
View File

@ -136,6 +136,9 @@ kubelet
[needproxy] [needproxy]
nvr2.pyrocufflink.blue nvr2.pyrocufflink.blue
[needproxy:children]
unifi
[networkd] [networkd]
vmhost0.pyrocufflink.blue vmhost0.pyrocufflink.blue
vmhost1.pyrocufflink.blue vmhost1.pyrocufflink.blue
@ -227,6 +230,11 @@ vps
[unifi] [unifi]
[unifi-test]
[unifi:children]
unifi-test
[vm-hosts] [vm-hosts]
vmhost0.pyrocufflink.blue vmhost0.pyrocufflink.blue
vmhost1.pyrocufflink.blue vmhost1.pyrocufflink.blue

View File

@ -1,5 +1,5 @@
unifi_version: latest unifi_version: latest
unifi_container_image: lscr.io/linuxserver/unifi-controller unifi_container_image: git.pyrocufflink.net/containerimages/unifi
unifi_storage_path: /var/lib/unifi unifi_storage_path: /var/lib/unifi
unifi_exporter_container_image: docker.io/jessestuart/unifi_exporter unifi_exporter_container_image: docker.io/jessestuart/unifi_exporter

View File

@ -1,48 +1,3 @@
- name: ensure unifi group exists
group:
name: unifi
gid: 911
system: true
state: present
tags:
- user
- group
- name: ensure unifi user exists
user:
name: unifi
uid: 911
group: unifi
home: /var/lib/unifi
createhome: false
system: true
state: present
tags:
- user
- name: ensure containers subuid is configured
lineinfile:
path: /etc/subuid
create: true
line: containers:39290640:1048576
tags:
- user
- name: ensure containers subgid is configured
lineinfile:
path: /etc/subgid
line: containers:39290640:1048576
tags:
- user
- name: ensure unifi storage path exists
file:
path: '{{ unifi_storage_path }}'
owner: unifi
group: unifi
mode: u=rwx,go=
state: directory
tags:
- datadir
- name: ensure unifi.container systemd unit exists - name: ensure unifi.container systemd unit exists
template: template:
src: unifi.container.j2 src: unifi.container.j2
@ -75,23 +30,12 @@
tags: tags:
- firewalld - firewalld
- name: ensure nginx is configured to proxy for unifi - name: ensure caddy is configured to proxy for unifi
template: template:
src: unifi.nginx.conf.j2 src: unifi.caddyfile.j2
dest: /etc/nginx/default.d/unifi.conf dest: /etc/caddy/Caddyfile.d/unifi.caddyfile
mode: u=rw,go=r
owner: root owner: root
group: root group: root
mode: u=rw,go=r
notify: notify:
- reload nginx - reload caddy
tags:
- nginx
- name: ensure selinux allows nginx to proxy for unifi
seboolean:
name: httpd_can_network_connect
persistent: true
state: true
tags:
- nginx
- selinux

View File

@ -3,8 +3,5 @@
tags: tags:
- install - install
- import_tasks: deploy.yml - import_tasks: deploy.yml
- import_tasks: exporter.yml
tags:
- unifi-exporter
tags: tags:
- unifi - unifi

View File

@ -0,0 +1,13 @@
{{ unifi_server_name }} {
reverse_proxy localhost:8443 {
transport http {
tls_insecure_skip_verify
}
}
{% if unifi_caddy_acme|d %}
tls {{ unifi_caddy_acme.email }} {
ca {{ unifi_caddy_acme.url }}
}
{% endif %}
}

View File

@ -5,14 +5,17 @@ After=network.target
[Container] [Container]
Image={{ unifi_container_image }}:{{ unifi_version }} Image={{ unifi_container_image }}:{{ unifi_version }}
Volume={{ unifi_storage_path }}:/config:rw,Z Volume=%S/%N:/var/lib/unifi:rw,U,Z
Volume=%L/%N:/var/log/unifi:rw,U,Z
Network=host Network=host
NoNewPrivileges=yes NoNewPrivileges=yes
UserNS=auto:gidmapping=911:911:1,uidmapping=911:911:1 ReadOnly=yes
VolatileTmp=yes ReadOnlyTmpfs=true
Notify=yes Notify=yes
[Service] [Service]
StateDirectory=%N
LogsDirectory=%N
TimeoutStartSec=5min TimeoutStartSec=5min
Restart=always Restart=always
PrivateTmp=yes PrivateTmp=yes
@ -23,7 +26,7 @@ ProtectProc=invisible
ProtectSystem=strict ProtectSystem=strict
ReadWritePaths=/run ReadWritePaths=/run
ReadWritePaths=/var/lib/containers/storage ReadWritePaths=/var/lib/containers/storage
ReadWritePaths={{ unifi_storage_path }} ReadWritePaths=%S/%N
RestrictRealtime=yes RestrictRealtime=yes
UMask=0077 UMask=0077

View File

@ -1,9 +0,0 @@
location / {
proxy_pass https://127.0.0.1:8443/;
proxy_ssl_verify off;
client_max_body_size 50m;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

View File

@ -11,3 +11,4 @@
- import_playbook: postgresql.yml - import_playbook: postgresql.yml
- import_playbook: serterm.yml - import_playbook: serterm.yml
- import_playbook: smtp-relay.yml - import_playbook: smtp-relay.yml
- import_playbook: unifi.yml

View File

@ -1,5 +1,6 @@
- hosts: unifi - hosts: unifi
roles: roles:
- role: nginx - role: caddy
tags: nginx tags: caddy
- role: unifi - role: unifi
tags: unifi