--- - 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 - name: setup taiga instance hosts: taiga become: true roles: - role: docker-taiga vars: domain: "{{domain_taiga}}" http_port: 8027 # 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