mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 10:19:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			339 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			339 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| - name: general setup
 | |
|   hosts:  all
 | |
|   become: true
 | |
|   tasks:
 | |
|   roles:
 | |
|     - role: update
 | |
|       when: execute_updates is true
 | |
| 
 | |
| - name: servers host setup
 | |
|   hosts: servers
 | |
|   become: true
 | |
|   roles:
 | |
|     - system-security
 | |
|     - journalctl
 | |
|     - health-disc-space
 | |
|     - cleanup-disc-space
 | |
|     - health-btrfs
 | |
| 
 | |
| # Wireguard Rollen
 | |
| - name: setup standard wireguard
 | |
|   hosts: wireguard_server
 | |
|   become: true
 | |
|   roles:
 | |
|     - wireguard
 | |
| 
 | |
| - name: setup wireguard client behind firewall\nat
 | |
|   hosts: wireguard_behind_firewall
 | |
|   become: true
 | |
|   roles:
 | |
|     - client-wireguard-behind-firewall
 | |
| 
 | |
| - name: setup wireguard client
 | |
|   hosts: wireguard_client
 | |
|   become: true
 | |
|   roles:
 | |
|     - client-wireguard
 | |
| 
 | |
| # Native Webserver Roles
 | |
| - name: setup nginx-homepages
 | |
|   hosts: homepage
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: nginx-homepage
 | |
|       vars:
 | |
|         domain: "{{top_domain}}"
 | |
| - name: setup redirect hosts
 | |
|   hosts: redirect
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: nginx-redirect
 | |
|       vars:
 | |
|         domain_mappings: "{{redirect_domain_mappings}}"
 | |
| 
 | |
| # Docker Roles
 | |
| - name: setup nextcloud hosts
 | |
|   hosts: nextcloud_server
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-nextcloud
 | |
|       vars:
 | |
|         domain: cloud.{{top_domain}}
 | |
|         http_port: 8001
 | |
| - name: setup gitea hosts
 | |
|   hosts: gitea
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-gitea
 | |
|       vars:
 | |
|         domain: git.{{top_domain}}
 | |
|         http_port: 8002
 | |
|         ssh_port:  2201
 | |
|         run_mode: prod
 | |
| - name: setup wordpress hosts
 | |
|   hosts: wordpress
 | |
|   become: true
 | |
|   tasks:
 | |
|     - name: Include docker-wordpress role for each domain
 | |
|       include_role:
 | |
|         name: docker-wordpress
 | |
|       vars:
 | |
|         domain: "{{ item }}"
 | |
|         http_port: 8003
 | |
|       loop: "{{ wordpress_domains }}"
 | |
|       loop_control:
 | |
|         loop_var: item
 | |
| - name: setup mediawiki hosts
 | |
|   hosts: mediawiki
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-mediawiki
 | |
|       vars:
 | |
|         domain: wiki.{{top_domain}}
 | |
|         http_port: 8004
 | |
| - name: setup mybb hosts
 | |
|   hosts: mybb
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-mybb
 | |
|       vars:
 | |
|         domain: forum.{{top_domain}}
 | |
|         http_port: 8005
 | |
| - name: setup yourls hosts
 | |
|   hosts: yourls
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-yourls
 | |
|       vars:
 | |
|         domain: s.{{top_domain}}
 | |
|         http_port: 8006
 | |
| - name: setup mailu hosts
 | |
|   hosts: mailu
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-mailu
 | |
|       vars:
 | |
|         domain: "mail.{{top_domain}}"
 | |
|         http_port: 8007
 | |
| - name: setup elk hosts
 | |
|   hosts: elk
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-elk
 | |
|       vars:
 | |
|         domain: "elk.{{top_domain}}"
 | |
|         http_port: 8008
 | |
| - name: setup mastodon hosts
 | |
|   hosts: mastodon
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-mastodon
 | |
|       vars:
 | |
|         domain: "mastodon.{{top_domain}}"
 | |
|         http_port: 8009
 | |
|         stream_port: 4001
 | |
| - name: setup pixelfed hosts
 | |
|   hosts: pixelfed
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-pixelfed
 | |
|       vars:
 | |
|         domain: pixelfed.{{top_domain}}
 | |
|         http_port: 8010
 | |
| - name: setup peertube hosts
 | |
|   hosts: peertube
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-peertube
 | |
|       vars:
 | |
|         domain: peertube.{{top_domain}}
 | |
|         http_port: 8011
 | |
| - name: setup bigbluebutton hosts
 | |
|   hosts: bigbluebutton
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-bigbluebutton
 | |
|       vars:
 | |
|         domain: bbb.{{top_domain}}
 | |
| - name: setup funkwhale hosts
 | |
|   hosts: funkwhale
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-funkwhale
 | |
|       vars:
 | |
|         domain: funkwhale.{{top_domain}}
 | |
|         http_port: 8012
 | |
| - name: setup roulette-wheel hosts
 | |
|   hosts: roulette_wheel
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-roulette-wheel
 | |
|       vars:
 | |
|         domain: roulette.{{top_domain}}
 | |
|         http_port: 8013
 | |
| - name: setup joomla hosts
 | |
|   hosts: joomla
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-joomla
 | |
|       vars:
 | |
|         domain: "joomla.{{top_domain}}"
 | |
|         http_port: 8014
 | |
| - name: setup attendize
 | |
|   hosts: attendize
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-attendize
 | |
|       vars:
 | |
|         domain: "tickets.{{top_domain}}"
 | |
|         http_port: 8015
 | |
|         mail_interface_http_port: 8016
 | |
| - name: setup baserow hosts
 | |
|   hosts: baserow
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-baserow
 | |
|       vars:
 | |
|         domain: baserow.{{top_domain}}
 | |
|         http_port: 8017
 | |
| - name: setup matomo hosts
 | |
|   hosts: matomo
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-matomo
 | |
|       vars:
 | |
|         domain: matomo.{{top_domain}}
 | |
|         http_port: 8018
 | |
| - name: setup akaunting hosts
 | |
|   hosts: akaunting
 | |
|   become: true
 | |
|   roles:
 | |
|    -  role: docker-akaunting
 | |
|       vars:
 | |
|         domain: akaunting.{{top_domain}}
 | |
|         http_port: 8080
 | |
| 
 | |
| # Backup Roles
 | |
| - name: setup replica backup hosts
 | |
|   hosts: replica_backup
 | |
|   become: true
 | |
|   roles:
 | |
|     - role: backup-remote-to-local
 | |
| 
 | |
| ## PC services
 | |
| - name: general host setup
 | |
|   hosts: personal_computers
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-administrator-tools
 | |
|     - driver-non-free
 | |
| 
 | |
| - name: pc-office
 | |
|   hosts: collection_officetools
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-office
 | |
| 
 | |
| - name: pc-designer-tools
 | |
|   hosts: collection_designer
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-designer-tools
 | |
| 
 | |
| - name: pc-qbittorrent
 | |
|   hosts: collection_torrent
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-qbittorrent
 | |
| 
 | |
| - name: pc-streaming-tools
 | |
|   hosts: collection_streamer
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-streaming-tools
 | |
| 
 | |
| - name: pc-bluray-player-tools
 | |
|   hosts: collection_bluray_player
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-bluray-player-tools
 | |
| 
 | |
| - name: driver-intel
 | |
|   hosts: intel
 | |
|   become: true
 | |
|   roles:
 | |
|     - driver-intel
 | |
| 
 | |
| - name: latex
 | |
|   hosts: latex
 | |
|   become: true
 | |
|   roles:
 | |
|     - latex
 | |
| 
 | |
| - name: GNOME setup
 | |
|   hosts: gnome
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-gnome
 | |
| 
 | |
| - name: setup msi rgb keyboard
 | |
|   hosts: msi_perkeyrgb
 | |
|   become: true
 | |
|   roles:
 | |
|     - driver-msi-keyboard-color
 | |
| 
 | |
| - name: setup ssh hosts
 | |
|   hosts: ssh
 | |
|   become: false
 | |
|   roles:
 | |
|     - pc-ssh
 | |
| 
 | |
| - name: setup swapfile hosts
 | |
|   hosts: swapfile
 | |
|   become: false
 | |
|   roles:
 | |
|     - system-swapfile
 | |
| 
 | |
| - name: setup gaming hosts
 | |
|   hosts: gaming
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-games
 | |
| 
 | |
| - name: setup entertainment hosts
 | |
|   hosts: entertainment
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-spotify
 | |
| 
 | |
| - name: setup multiprinter hosts
 | |
|   hosts: epson_multiprinter
 | |
|   become: true
 | |
|   roles:
 | |
|     - driver-epson-multiprinter
 | |
| 
 | |
| - name: setup torbrowser hosts
 | |
|   hosts: torbrowser
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-torbrowser
 | |
| 
 | |
| - name: setup nextcloud
 | |
|   hosts: nextcloud_client
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-nextcloud
 | |
| 
 | |
| - name: setup docker
 | |
|   hosts: docker
 | |
|   become: true
 | |
|   roles:
 | |
|     - pc-docker
 | |
| 
 | |
| 
 | |
| - name: setup backup to swappable
 | |
|   hosts: backup_to_usb
 | |
|   become: true
 | |
|   roles:
 | |
|     - backup-data-to-usb |