3542913689
- Smart TLS: skip certbot for IPs/.local/.lan, self-signed with SAN, HSTS max-age=0 for self-signed certs, split LAN vs public messages - Dynamic PHP: versionless meta-packages, runtime detection via php_ver fact - Vaultwarden: fail-fast on armv7l (32-bit ARM not supported upstream) - Module prompts: accept IPs for matrix/cloud/vault/media, hard error on email with IP, all_in_one skips certbot email for LAN - Matrix: skip matrix. prefix strip for IPs, warn about immutable server_name - OS family guards: ansible_os_family == Debian on all apt tasks - SSH key path: expanduser().resolve() on user-provided key paths - Cloudflare Tunnel: post-deploy script (setup-tunnel.sh) using CF API token — no browser auth needed, creates tunnel + credentials + DNS + systemd Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1017 B
YAML
43 lines
1017 B
YAML
---
|
|
# Nextcloud deployment — PHP-FPM + MariaDB + Redis + nginx
|
|
|
|
- name: Deploy Nextcloud Server
|
|
hosts: all
|
|
become: true
|
|
vars:
|
|
nextcloud_domain: "{{ domain }}"
|
|
nextcloud_admin: "{{ cloud_admin_user | default('admin') }}"
|
|
nextcloud_storage_gb: "{{ cloud_storage_gb | default('10') }}"
|
|
target_host: "{{ target_host | default('localhost') }}"
|
|
|
|
tasks:
|
|
- name: Include Nextcloud installation
|
|
include_tasks: tasks/install.yml
|
|
|
|
- name: Include Nextcloud configuration
|
|
include_tasks: tasks/configure.yml
|
|
|
|
- name: Include Nextcloud nginx reverse proxy
|
|
include_tasks: tasks/nginx.yml
|
|
|
|
handlers:
|
|
- name: reload nginx
|
|
service:
|
|
name: nginx
|
|
state: reloaded
|
|
|
|
- name: restart php-fpm
|
|
service:
|
|
name: "php{{ php_ver }}-fpm"
|
|
state: restarted
|
|
|
|
- name: restart mariadb
|
|
service:
|
|
name: mariadb
|
|
state: restarted
|
|
|
|
- name: restart redis
|
|
service:
|
|
name: redis-server
|
|
state: restarted
|