computer-playbook/playbook.yml

353 lines
6.7 KiB
YAML
Raw Normal View History

2020-12-24 14:27:31 +01:00
---
- name: general setup
hosts: all
become: true
tasks:
roles:
- role: update
when: execute_updates is true
- name: servers host setup
hosts: servers
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 13:21:56 +01:00
roles:
2023-08-22 22:53:44 +02:00
- system-security
2023-09-02 13:13:28 +02:00
- journalctl
2023-11-16 15:32:29 +01:00
- health-disc-space
2023-11-16 17:07:28 +01:00
- cleanup-disc-space
2023-11-16 15:32:29 +01:00
- health-btrfs
2023-04-18 18:24:55 +02:00
# Wireguard Rollen
- name: setup standard wireguard
hosts: wireguard_server
2021-01-01 16:02:17 +01:00
become: true
2020-12-24 14:27:31 +01:00
roles:
2023-11-16 23:29:43 +01:00
- wireguard
2023-04-18 18:24:55 +02:00
- name: setup wireguard client behind firewall\nat
2023-04-18 15:45:52 +02:00
hosts: wireguard_behind_firewall
become: true
roles:
2023-11-16 23:29:43 +01:00
- client-wireguard-behind-firewall
2023-04-18 18:24:55 +02:00
- name: setup wireguard client
hosts: wireguard_client
become: true
roles:
2023-11-16 23:29:43 +01:00
- client-wireguard
2022-03-17 16:28:57 +01:00
# Native Webserver Roles
2023-11-17 13:54:56 +01:00
- name: setup nginx-homepages
hosts: homepage
2021-01-01 16:02:17 +01:00
become: true
2020-12-24 14:27:31 +01:00
roles:
2023-11-17 13:54:56 +01:00
- role: nginx-homepage
2020-12-24 14:27:31 +01:00
vars:
domain: "{{top_domain}}"
2022-03-17 16:28:57 +01:00
- name: setup redirect hosts
2023-04-18 15:45:52 +02:00
hosts: redirect
2022-03-17 16:28:57 +01:00
become: true
roles:
2023-11-17 14:08:03 +01:00
- role: nginx-redirect
2022-03-17 16:28:57 +01:00
vars:
domain_mappings: "{{redirect_domain_mappings}}"
# Docker Roles
2020-12-31 10:21:33 +01:00
- name: setup nextcloud hosts
2023-04-18 17:00:30 +02:00
hosts: nextcloud_server
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-nextcloud
2020-12-24 14:27:31 +01:00
vars:
domain: cloud.{{top_domain}}
http_port: 8001
2020-12-31 10:21:33 +01:00
- name: setup gitea hosts
2023-04-18 15:45:52 +02:00
hosts: gitea
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-gitea
2020-12-24 14:27:31 +01:00
vars:
domain: git.{{top_domain}}
http_port: 8002
ssh_port: 2201
run_mode: prod
2020-12-31 10:21:33 +01:00
- name: setup wordpress hosts
2023-04-18 15:45:52 +02:00
hosts: wordpress
2021-01-01 16:02:17 +01:00
become: true
2023-11-18 21:25:51 +01:00
tasks:
- name: Include docker-wordpress role for each domain
include_role:
name: docker-wordpress
2020-12-24 14:27:31 +01:00
vars:
2023-11-18 21:25:51 +01:00
domain: "{{ item }}"
2020-12-24 14:27:31 +01:00
http_port: 8003
2023-11-18 21:25:51 +01:00
loop: "{{ wordpress_domains }}"
loop_control:
loop_var: item
2020-12-31 10:21:33 +01:00
- name: setup mediawiki hosts
2023-04-18 15:45:52 +02:00
hosts: mediawiki
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-mediawiki
2020-12-24 14:27:31 +01:00
vars:
domain: wiki.{{top_domain}}
http_port: 8004
2020-12-31 10:21:33 +01:00
- name: setup mybb hosts
2023-04-18 15:45:52 +02:00
hosts: mybb
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-mybb
2020-12-24 14:27:31 +01:00
vars:
domain: forum.{{top_domain}}
http_port: 8005
2020-12-31 10:21:33 +01:00
- name: setup yourls hosts
2023-04-18 15:45:52 +02:00
hosts: yourls
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-yourls
2020-12-24 14:27:31 +01:00
vars:
domain: s.{{top_domain}}
http_port: 8006
2020-12-31 10:21:33 +01:00
- name: setup mailu hosts
2023-04-18 15:45:52 +02:00
hosts: mailu
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-mailu
2020-12-27 19:41:35 +01:00
vars:
domain: "mail.{{top_domain}}"
http_port: 8007
2020-12-31 10:21:33 +01:00
- name: setup elk hosts
2023-04-18 15:45:52 +02:00
hosts: elk
2021-01-01 16:02:17 +01:00
become: true
2020-12-31 10:21:33 +01:00
roles:
2023-08-22 22:53:44 +02:00
- role: docker-elk
2020-12-30 15:41:34 +01:00
vars:
2020-12-30 20:32:28 +01:00
domain: "elk.{{top_domain}}"
2020-12-30 15:41:34 +01:00
http_port: 8008
2022-11-15 11:56:48 +01:00
- name: setup mastodon hosts
2023-04-18 15:45:52 +02:00
hosts: mastodon
2022-11-15 11:56:48 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-mastodon
2022-11-15 11:56:48 +01:00
vars:
domain: "mastodon.{{top_domain}}"
http_port: 8009
stream_port: 4001
2022-11-16 11:17:37 +01:00
- name: setup pixelfed hosts
2023-04-18 15:45:52 +02:00
hosts: pixelfed
2022-11-16 11:17:37 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-pixelfed
2022-11-16 11:17:37 +01:00
vars:
domain: pixelfed.{{top_domain}}
http_port: 8010
2022-11-17 14:47:25 +01:00
- name: setup peertube hosts
2023-04-18 15:45:52 +02:00
hosts: peertube
2022-11-17 14:47:25 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-peertube
2022-11-17 14:47:25 +01:00
vars:
domain: peertube.{{top_domain}}
http_port: 8011
2022-12-02 12:57:15 +01:00
- name: setup bigbluebutton hosts
2023-04-18 15:45:52 +02:00
hosts: bigbluebutton
2022-12-02 12:57:15 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-bigbluebutton
2022-12-02 12:57:15 +01:00
vars:
domain: bbb.{{top_domain}}
2022-12-05 17:43:21 +01:00
- name: setup funkwhale hosts
2023-04-18 15:45:52 +02:00
hosts: funkwhale
2022-12-05 17:43:21 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-funkwhale
2022-12-05 17:43:21 +01:00
vars:
domain: funkwhale.{{top_domain}}
http_port: 8012
2022-12-06 20:20:02 +01:00
- name: setup roulette-wheel hosts
2023-04-18 15:45:52 +02:00
hosts: roulette_wheel
2022-12-06 20:20:02 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-roulette-wheel
2022-12-06 20:20:02 +01:00
vars:
domain: roulette.{{top_domain}}
http_port: 8013
2023-05-25 20:58:52 +02:00
- name: setup joomla hosts
hosts: joomla
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-joomla
2023-05-25 20:58:52 +02:00
vars:
domain: "joomla.{{top_domain}}"
http_port: 8014
2023-05-29 13:03:57 +02:00
- name: setup attendize
hosts: attendize
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-attendize
2023-05-29 13:03:57 +02:00
vars:
domain: "tickets.{{top_domain}}"
http_port: 8015
mail_interface_http_port: 8016
2023-09-02 18:09:06 +02:00
- name: setup baserow hosts
hosts: baserow
become: true
roles:
- role: docker-baserow
vars:
domain: baserow.{{top_domain}}
http_port: 8017
2023-11-17 15:15:25 +01:00
- name: setup matomo hosts
hosts: matomo
become: true
roles:
- role: docker-matomo
vars:
domain: matomo.{{top_domain}}
http_port: 8018
2023-12-05 13:46:06 +01:00
- name: setup listmonk
hosts: listmonk
become: true
roles:
- role: docker-listmonk
vars:
domain: listmonk.{{top_domain}}
http_port: 8019
2022-01-18 19:26:44 +01:00
- name: setup akaunting hosts
2023-04-18 15:45:52 +02:00
hosts: akaunting
2022-01-18 19:08:45 +01:00
become: true
roles:
2023-08-22 22:53:44 +02:00
- role: docker-akaunting
2022-01-18 19:08:45 +01:00
vars:
2022-01-18 19:26:44 +01:00
domain: akaunting.{{top_domain}}
2022-01-18 19:08:45 +01:00
http_port: 8080
2022-03-17 16:28:57 +01:00
# Backup Roles
- name: setup replica backup hosts
2023-04-18 15:45:52 +02:00
hosts: replica_backup
2022-03-17 16:28:57 +01:00
become: true
roles:
2023-11-16 17:55:54 +01:00
- role: backup-remote-to-local
## PC services
- name: general host setup
hosts: personal_computers
become: true
roles:
- pc-administrator-tools
2023-08-22 22:46:37 +02:00
- driver-non-free
- name: pc-office
2023-04-18 15:45:52 +02:00
hosts: collection_officetools
become: true
roles:
- pc-office
2023-12-03 10:56:07 +01:00
- name: personal computer for business
hosts: business_personal_computer
become: true
roles:
- pc-gnucash
- name: pc-designer-tools
2023-04-18 15:45:52 +02:00
hosts: collection_designer
become: true
roles:
- pc-designer-tools
- name: pc-qbittorrent
2023-04-18 15:45:52 +02:00
hosts: collection_torrent
become: true
roles:
- pc-qbittorrent
- name: pc-streaming-tools
2023-04-18 15:45:52 +02:00
hosts: collection_streamer
become: true
roles:
- pc-streaming-tools
- name: pc-bluray-player-tools
2023-04-18 15:45:52 +02:00
hosts: collection_bluray_player
become: true
roles:
- pc-bluray-player-tools
2023-08-22 22:46:37 +02:00
- name: driver-intel
2023-04-18 15:45:52 +02:00
hosts: intel
become: true
roles:
2023-08-22 22:46:37 +02:00
- driver-intel
- name: pc-latex
2023-04-18 15:45:52 +02:00
hosts: latex
become: true
roles:
- pc-latex
- name: GNOME setup
2023-04-18 15:45:52 +02:00
hosts: gnome
become: true
roles:
- pc-gnome
- name: setup msi rgb keyboard
2023-04-18 15:45:52 +02:00
hosts: msi_perkeyrgb
become: true
roles:
- driver-msi-keyboard-color
- name: setup ssh hosts
2023-04-18 15:45:52 +02:00
hosts: ssh
become: false
roles:
- pc-ssh
- name: setup swapfile hosts
2023-04-18 15:45:52 +02:00
hosts: swapfile
become: false
roles:
2023-08-22 22:46:37 +02:00
- system-swapfile
- name: setup gaming hosts
2023-04-18 15:45:52 +02:00
hosts: gaming
become: true
roles:
- pc-games
- name: setup entertainment hosts
2023-04-18 15:45:52 +02:00
hosts: entertainment
become: true
roles:
- pc-spotify
- name: setup multiprinter hosts
2023-04-18 15:45:52 +02:00
hosts: epson_multiprinter
become: true
roles:
2023-08-22 22:46:37 +02:00
- driver-epson-multiprinter
- name: setup torbrowser hosts
2023-04-18 15:45:52 +02:00
hosts: torbrowser
become: true
roles:
- pc-torbrowser
- name: setup nextcloud
2023-04-18 17:00:30 +02:00
hosts: nextcloud_client
become: true
roles:
- pc-nextcloud
- name: setup docker
2023-04-18 15:45:52 +02:00
hosts: docker
become: true
roles:
2023-12-02 14:41:08 +01:00
- pc-docker
2023-04-26 22:12:40 +02:00
- name: setup backup to swappable
hosts: backup_to_usb
2023-04-26 22:12:40 +02:00
become: true
roles:
2023-11-16 17:07:28 +01:00
- backup-data-to-usb