Ansible wird für das automatisierte Deployment des Automated Office Systems verwendet.
Grundlegende Systempakete
# Standardvariablen
timezone: "Europe/Berlin"
fail2ban_bantime: 600
fail2ban_findtime: 600
fail2ban_maxretry: 3
ufw_allowed_ports:
- { port: 22, proto: tcp } # SSH
- { port: 80, proto: tcp } # HTTP
- { port: 443, proto: tcp } # HTTPS
Docker Netzwerk-Konfiguration
# Docker Standardvariablen
docker_compose_version: "2.21.0"
docker_users: ["{{ ansible_user }}"]
Virtual Host Konfiguration
# NGINX Standardvariablen
nginx_worker_processes: auto
nginx_worker_connections: 1024
nginx_client_max_body_size: "100M"
inventory/
├── production/
└── staging/
└── hosts
# vars/defaults/main.yml
base_domain: "example.com"
ssl_email: "admin@example.com"
services:
keycloak: true
nextcloud: true
paperless: true
nodered: true
# Ports
keycloak_port: 8080
nextcloud_port: 8081
paperless_port: 8000
nodered_port: 1880
docker_compose_version: "2.21.0"
# Staging Deployment
ansible-playbook -i inventory/staging site.yml