computer-playbook/playbook.servers.yml

283 lines
5.7 KiB
YAML

---
- import_playbook: playbook.constructor.yml
- name: servers host setup
hosts: servers
become: true
roles:
- system-security
- journalctl
- health-disc-space
- cleanup-disc-space
- health-btrfs
# Docker Roles
- name: setup nextcloud hosts
hosts: nextcloud_server
become: true
roles:
- role: docker-nextcloud
vars:
domain: "{{domain_nextcloud}}"
http_port: 8001
- name: setup gitea hosts
hosts: gitea
become: true
roles:
- role: docker-gitea
vars:
domain: "{{domain_gitea}}"
http_port: 8002
ssh_port: 2201
run_mode: prod
- name: setup wordpress hosts
hosts: wordpress
become: true
roles:
- role: docker-wordpress
vars:
domains: "{{domains_wordpress}}"
http_port: 8003
- name: setup mediawiki hosts
hosts: mediawiki
become: true
roles:
- role: docker-mediawiki
vars:
domain: "{{domain_mediawiki}}"
http_port: 8004
- name: setup mybb hosts
hosts: mybb
become: true
roles:
- role: docker-mybb
vars:
domains: "{{domains_mybb}}"
http_port: 8005
- name: setup yourls hosts
hosts: yourls
become: true
roles:
- role: docker-yourls
vars:
domain: "{{domain_yourls}}"
http_port: 8006
- name: setup mailu hosts
hosts: mailu
become: true
roles:
- role: docker-mailu
vars:
domain: "{{domain_mailu}}"
http_port: 8007
enable_central_database: "{{enable_central_database_mailu}}"
- name: setup elk hosts
hosts: elk
become: true
roles:
- role: docker-elk
vars:
domain: "{{domain_elk}}"
http_port: 8008
- name: setup mastodon hosts
hosts: mastodon
become: true
roles:
- role: docker-mastodon
vars:
domain: "{{domain_mastodon}}"
domains: "{{ [domain] + domains_mastodon_alternates }}"
http_port: 8009
stream_port: 4001
- name: setup pixelfed hosts
hosts: pixelfed
become: true
roles:
- role: docker-pixelfed
vars:
domain: "{{domain_pixelfed}}"
http_port: 8010
- name: setup peertube hosts
hosts: peertube
become: true
roles:
- role: docker-peertube
vars:
domain: "{{domain_peertube}}"
domains: "{{ [domain] + domains_peertube }}"
http_port: 8011
- name: setup bigbluebutton hosts
hosts: bigbluebutton
become: true
roles:
- role: docker-bigbluebutton
vars:
domain: "{{domain_bigbluebutton}}"
- name: setup funkwhale hosts
hosts: funkwhale
become: true
roles:
- role: docker-funkwhale
vars:
domain: "{{domain_funkwhale}}"
http_port: 8012
- name: setup roulette-wheel hosts
hosts: roulette_wheel
become: true
roles:
- role: docker-roulette-wheel
vars:
domain: "{{domain_roulette}}"
http_port: 8013
- name: setup joomla hosts
hosts: joomla
become: true
roles:
- role: docker-joomla
vars:
domain: "{{joomla_domains}}"
http_port: 8014
- name: setup attendize
hosts: attendize
become: true
roles:
- role: docker-attendize
vars:
domain: "{{domain_attendize}}"
http_port: 8015
mail_interface_http_port: 8016
- name: setup baserow hosts
hosts: baserow
become: true
roles:
- role: docker-baserow
vars:
domain: "{{domain_baserow}}"
http_port: 8017
- name: setup matomo hosts
hosts: matomo
become: true
roles:
- role: docker-matomo
vars:
domain: "{{domain_matomo}}"
http_port: 8018
- name: setup listmonk
hosts: listmonk
become: true
roles:
- role: docker-listmonk
vars:
domain: "{{domain_listmonk}}"
http_port: 8019
- name: setup discourse
hosts: discourse
become: true
roles:
- role: docker-discourse
vars:
domain: "{{domain_discourse}}"
http_port: 8020
- name: setup matrix
hosts: matrix
become: true
roles:
- role: docker-matrix-ansible
when: matrix_role == 'ansible'
vars:
domains:
- "{{domain_matrix_element}}"
- "{{domain_matrix_synapse}}"
element_domain: "{{domain_matrix_element}}"
synapse_domain: "{{domain_matrix_synapse}}"
http_port: 8021
- role: docker-matrix-compose
when: matrix_role == 'compose'
vars:
element_domain: "{{domain_matrix_element}}"
synapse_domain: "{{domain_matrix_synapse}}"
synapse_http_port: 8021
element_http_port: 8022
- name: setup open project instances
hosts: openproject
become: true
roles:
- role: docker-openproject
vars:
domain: "{{domain_openproject}}"
http_port: 8023
- name: setup gitlab hosts
hosts: gitlab
become: true
roles:
- role: docker-gitlab
vars:
domain: "{{domain_gitlab}}"
http_port: 8024
ssh_port: 2202
- name: setup akaunting hosts
hosts: akaunting
become: true
roles:
- role: docker-akaunting
vars:
domain: "{{domain_akaunting}}"
http_port: 8025
- name: setup moodle instance
hosts: moodle
become: true
roles:
- role: docker-moodle
vars:
domain: "{{domain_moodle}}"
http_port: 8026
# 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-domain-redirect
vars:
domain_mappings: "{{redirect_domain_mappings}}"
- name: setup www redirect
hosts: www_redirect
become: true
roles:
- role: nginx-www-redirect
- import_playbook: playbook.destructor.yml