--- ################################################## # Globale Konfiguration für alle Server ################################################## - hosts: all remote_user: root roles: - { role: all/common, tags: common } - { role: all/hostname, tags: hostname } - { role: all/mount, tags: mount} - { role: all/sysctl, tags: sysctl } ################################################## # Test Server ################################################## - hosts: test-warpzone-de remote_user: root roles: - { role: common/cronapt, tags: cronapt } - { role: common/docker, tags: docker } - { role: testserver/docker_traefik, tags: [ test_traefik, docker_services ], servicename: traefik, basedir: /srv/traefik, domain: "test-warpzone.de", domain_default: "www.test-warpzone.de", } - { role: testserver/docker_mail, tags: [ test_mail, docker_services ], servicename: mail, basedir: "/srv/{{ servicename }}", domain: "test-warpzone.de", mailserver: "mailserver.test-warpzone.de", listserver: "listserver.test-warpzone.de" } - { role: testserver/docker_uffd, tags: [ test_uffd, docker_services ], servicename: uffd, basedir: "/srv/{{ servicename }}", domain: "uffd.test-warpzone.de", } - { role: testserver/docker_icinga, tags: [ test_icinga, docker_services ], servicename: icinga, basedir: "/srv/{{ servicename }}", domain: "icinga.test-warpzone.de", api_port: 5665, mysql_port: 33306 } - { role: testserver/docker_gitlab, tags: [ test_gitlab, docker_services ], servicename: "gitlab", basedir: "/srv/{{ servicename }}", domain: "gitlab.test-warpzone.de", domain_registry: "gitlab-registry.test-warpzone.de", git_ssh_port: 444 } - { role: testserver/docker_gitea, tags: [ test_gitea, docker_services ], servicename: "gitea", basedir: "/srv/{{ servicename }}", domain: "verwaltung-git.test-warpzone.de", git_ssh_port: 555 } - { role: testserver/docker_grafana, tags: [ test_grafana, docker_services ], servicename: "grafana", basedir: "/srv/{{ servicename }}", domain: "grafana.test-warpzone.de" } - { role: testserver/docker_hackmd, tags: [ test_hackmd, docker_services ], servicename: "hackmd", basedir: "/srv/{{ servicename }}", domain: "md.test-warpzone.de" } - { role: testserver/docker_matrix, tags: [ test_matrix, docker_services ], servicename: "matrix", basedir: "/srv/{{ servicename }}", domain: "matrix.test-warpzone.de" } - { role: testserver/docker_nextcloud, tags: [ test_nextcloud, docker_services ], servicename: "nextcloud", basedir: "/srv/{{ servicename }}", domain: "verwaltung.test-warpzone.de" } - { role: testserver/docker_paperless, tags: [ test_paperless, docker_services ], servicename: "paperless", basedir: "/srv/{{ servicename }}", domain: "docs.test-warpzone.de" } - { role: testserver/docker_tandoor, tags: [ test_tandoor, docker_services ], servicename: "tandoor", basedir: "/srv/{{ servicename }}", domain: "tandoor.test-warpzone.de" } - { role: testserver/docker_vpnserver, tags: [ test_vpnserver, docker_services ], servicename: "vpnserver", basedir: "/srv/{{ servicename }}", domain: "vpn.test-warpzone.de" } - { role: testserver/docker_wordpress, tags: [ test_wordpress, docker_services ], servicename: "wordpress", basedir: "/srv/{{ servicename }}", domain: "www.test-warpzone.de" } - { role: testserver/docker_jameica, tags: [ test_jameicavnc, docker_services ], servicename: "jameicavnc", domain: "verwaltung-jameica.test-warpzone.de", basedir: "/srv/{{servicename}}" } - { role: testserver/docker_dokuwiki, tags: [ test_dokuwiki, docker_services ], servicename: "dokuwiki", domain: "wiki.test-warpzone.de", basedir: /srv/dokuwiki, } ################################################## # Produktive Server ################################################## - hosts: tiffany remote_user: root roles: - { role: common/proxmox, tags: proxmox } - { role: common/cronapt, tags: cronapt } - hosts: weatherwax remote_user: root roles: - { role: common/proxmox, tags: proxmox } - { role: common/prometheus-node, tags: prometheus-node } - { role: common/cronapt, tags: cronapt } - hosts: carrot remote_user: root roles: - { role: common/cronapt, tags: cronapt } - { role: common/prometheus-node, tags: prometheus-node } - { role: common/wireguard, tags: wireguard } - hosts: ogg remote_user: root roles: - { role: common/borgbackup, tags: borgbackup } - { role: common/cronapt, tags: cronapt } - { role: common/docker, tags: docker } - { role: common/prometheus-node, tags: prometheus-node } - { role: common/docker_dockerstats, tags: [ dockerstats, docker_services ], servicename: dockerstats, basedir: /srv/dockerstats, metrics_port: 9487 } - { role: common/docker_watchtower, tags: [ watchtower, docker_services ], servicename: watchtower, basedir: /srv/watchtower, } - { role: common/docker_traefik, tags: [ traefik, docker_services ], servicename: traefik, basedir: /srv/traefik, domain: "warpzone.lan", domain_default: "services.warpzone.lan", selfSignedCN: "warpzone.lan", selfSignedDomain: "*.warpzone.lan" } - { role: intern/docker_esphome, tags: [ esphome, docker_services ], servicename: esphome, basedir: /srv/esphome, domain: "esphome.warpzone.lan" } - { role: intern/docker_grafana, tags: [ grafana, docker_services ], servicename: grafana, basedir: /srv/grafana, domain: "grafana.warpzone.lan", mqtt_influxdb_port: 18086 } - { role: intern/docker_heimdall, tags: [ heimdall, docker_services ], servicename: heimdall, basedir: /srv/heimdall, domain: "services.warpzone.lan" } - { role: intern/docker_homeassistant, tags: [ homeassistant, docker_services ], servicename: homeassistant, basedir: /srv/homeassistant, domain: "ha.warpzone.lan", homematic_callback_port: 8060, influxdb_port: 38086 } - { role: intern/docker_mqtt, tags: [ mqtt, docker_services ], servicename: mqtt, basedir: /srv/mqtt, domain: "mqtt.warpzone.lan", mqtt_port: 1883, influxdb_port: 18086 } - { role: intern/docker_nodered, tags: [ nodered, docker_services ], servicename: nodered, basedir: /srv/nodered, domain: "nodered.warpzone.lan" } - { role: intern/docker_omada, tags: [ omada, docker_services ], servicename: omada, basedir: /srv/omada, domain: "omada.warpzone.lan", certFile: "/srv/traefik/warpzone+internal+services.pem", keyFile: "/srv/traefik/warpzone+internal+services.key", omada_port_http: 8088, omada_port_https: 8043, omada_portal_https: 8843 } - { role: intern/docker_pihole, tags: pihole, servicename: pihole, basedir: /srv/pihole, domain: "pihole.warpzone.lan" } - { role: intern/docker_tasmoadmin, tags: [ tasmoadmin, docker_services ], servicename: tasmoadmin, basedir: /srv/tasmoadmin, domain: "tasmoadmin.warpzone.lan" } - { role: intern/docker_fridgeserver, tags: [ fridgeserver, docker_services ], servicename: fridgeserver, basedir: /srv/fridgeserver, domain: "fridgeserver.warpzone.lan" } - { role: intern/docker_zigbee2mqtt, tags: [ zigbee2mqtt, docker_services ], servicename: zigbee2mqtt, basedir: /srv/zigbee2mqtt, domain: "zigbee2mqtt.warpzone.lan" } - hosts: webserver remote_user: root roles: - { role: common/borgbackup, tags: borgbackup } - { role: common/cronapt, tags: cronapt } - { role: common/docker, tags: docker } - { role: common/kvm-guest, tags: kvm-guest } - { role: common/openvpn, tags: openvpn } - { role: common/prometheus-node, tags: prometheus-node } - { role: common/wireguard, tags: wireguard } - { role: common/docker_dockerstats, tags: [ dockerstats, docker_services ], servicename: dockerstats, basedir: /srv/dockerstats, metrics_port: 9487 } - { role: webserver/docker_uffd, tags: [ uffd, docker_services ], servicename: uffd, basedir: "/srv/{{ servicename }}", domain: "uffd.warpzone.ms", } - { role: common/docker_ldap, tags: [ ldap, docker_services ], servicename: ldap, basedir: /srv/ldap, domain: "ldap.warpzone.ms" } - { role: common/docker_traefik, tags: [ traefik, docker_services ], servicename: traefik, basedir: /srv/traefik, domain: "warpzone.ms", domain_default: "www.warpzone.ms", matrix_federation: true } - { role: common/docker_watchtower, tags: [ watchtower, docker_services ], servicename: watchtower, basedir: /srv/watchtower, } - { role: webserver/docker_coturn, tags: [ coturn, docker_services ], servicename: "coturn", domain: "turn.warpzone.ms" } - { role: webserver/docker_dokuwiki, tags: [ dokuwiki, docker_services ], servicename: "dokuwiki", domain: "wiki.warpzone.ms", basedir: /srv/dokuwiki, healthchecks_url: "https://hc-ping.com/038adcfe-05bf-45b4-919b-88b69aab8844" } - { role: webserver/docker_gitlab, tags: [ gitlab, docker_services ], servicename: "gitlab", domain: "gitlab.warpzone.ms", domain_registry: "gitlab-registry.warpzone.ms" } - { role: webserver/docker_icinga, tags: [ icinga, docker_services ], servicename: icinga, basedir: /srv/icinga, domain: icinga.warpzone.ms, api_port: 5665, mysql_port: 33306 } - { role: webserver/docker_hackmd, tags: [ hackmd, docker_services ], servicename: "hackmd", basedir: /srv/hackmd, domain: "md.warpzone.ms" } - { role: webserver/docker_keycloak, tags: [ keycloak, docker_services ], servicename: "keycloak", basedir: /srv/keycloak, domain: "keycloak.warpzone.ms" } - { role: webserver/docker_mail, tags: [ mail, docker_services ], servicename: mail, basedir: /srv/mail, domain: "warpzone.ms", mailserver: "mailserver.warpzone.ms", listserver: "listserver.warpzone.ms" } - { role: webserver/docker_matterbridge, tags: [ matterbridge, docker_services ], servicename: matterbridge, basedir: /srv/matterbridge, domain: "www.warpzone.ms" } - { role: webserver/docker_matrix, tags: [ matrix, docker_services ], servicename: "matrix", basedir: /srv/matrix, domain: "matrix.warpzone.ms" } - { role: webserver/docker_warpapi, tags: [ warpapi, docker_services ], servicename: "warpapi", basedir: /srv/warpapi, domain: "api.warpzone.ms" } - { role: webserver/docker_wordpress, tags: [ wordpress, docker_services ], servicename: "wordpress", basedir: /srv/wordpress, domain: "www.warpzone.ms" } # - { # role: webserver/docker_workadventure, tags: [ workadventure, docker_services ], # servicename: "workadventure", # basedir: /srv/workadventure, # domain: "workadventure.warpzone.ms" # } - hosts: verwaltung remote_user: root roles: - { role: common/borgbackup, tags: borgbackup } - { role: common/cronapt, tags: cronapt } - { role: common/docker, tags: docker } - { role: common/kvm-guest, tags: kvm-guest } - { role: common/openvpn, tags: openvpn } - { role: common/prometheus-node, tags: prometheus-node } - { role: common/docker_dockerstats, tags: [ dockerstats, docker_services ], servicename: dockerstats, basedir: /srv/dockerstats, metrics_port: 9487 } - { role: common/docker_traefik, tags: [ traefik, docker_services ], servicename: traefik, basedir: /srv/traefik, domain: "warpzone.ms", } - { role: common/docker_watchtower, tags: [ watchtower, docker_services ], servicename: watchtower, basedir: /srv/watchtower, } - { role: verwaltung/docker_gitea, tags: [ gitea, docker_services ], servicename: "gitea", basedir: /srv/gitea, domain: "verwaltung-git.warpzone.ms", git_ssh_port: 444 } - { role: verwaltung/cryptdata, tags: cryptdata, } - { role: verwaltung/docker_jameica, tags: [ jameicavnc, docker_services ], servicename: "jameicavnc", basedir: /srv/jameica-vnc, domain: "verwaltung-jameica.warpzone.ms" } - { role: verwaltung/docker_nextcloud, tags: [ nextcloud, docker_services ], servicename: "nextcloud", basedir: /srv/nextcloud, domain: "verwaltung.warpzone.ms" } - { role: verwaltung/docker_vaultwarden, tags: [ vaultwarden, docker_services ], servicename: "vaultwarden", basedir: /srv/vaultwarden, domain: "vault.warpzone.ms" } - { role: verwaltung/docker_mysql, tags: [ mysql, docker_services ], } - { role: verwaltung/user, tags: user } - { role: verwaltung/jameica, tags: jameica } - { role: verwaltung/x2goserver, tags: x2goserver } ################################################## # warpzone.remote Server für Veranstaltungen / Camps ################################################## - hosts: hex remote_user: root roles: - { role: common/proxmox, tags: [ proxmox, remote ] } - { role: common/cronapt, tags: [ cronapt, remote ] } - { role: common/prometheus-node, tags: [ prometheus-node, remote ] } - hosts: hix remote_user: root roles: - { role: common/cronapt, tags: [ cronapt, remote ] } - { role: common/docker, tags: [ docker, remote ] } - { role: common/prometheus-node, tags: [ prometheus-node, remote ] } - { role: common/docker_dockerstats, tags: [ dockerstats, docker_services, remote ], servicename: dockerstats, basedir: /srv/dockerstats, metrics_port: 9487 } - { role: common/docker_traefik, tags: [ traefik, docker_services, remote ], servicename: traefik, basedir: /srv/traefik, domain: "warpzone.remote", domain_default: "ha.warpzone.remote", selfSignedCN: "warpzone.remote", selfSignedDomain: "*.warpzone.remote" } - { role: intern/docker_mqtt, tags: [ mqtt, docker_services, remote ], servicename: mqtt, basedir: /srv/mqtt, mqtt_port: 1883, influxdb_port: 18086 } - { role: remote/docker_netdata, tags: [ netdata, docker_services, remote ], servicename: netdata, basedir: /srv/netdata, domain: "netdata.warpzone.remote" } - { role: remote/docker_prometheus, tags: [ prometheus, docker_services, remote ], servicename: prometheus, basedir: /srv/prometheus, domain: "prometheus.warpzone.remote", prometheus_port: 9090 } - { role: intern/docker_grafana, tags: [ grafana, docker_services, remote ], servicename: grafana, basedir: /srv/grafana, domain: "grafana.warpzone.remote", mqtt_influxdb_port: 18086 } - { role: remote/docker_homeassistant, tags: [ homeassistant, docker_services, remote ], servicename: homeassistant, basedir: /srv/homeassistant, domain: "ha.warpzone.remote", influxdb_port: 38086 } - { role: intern/docker_tasmoadmin, tags: [ tasmoadmin, docker_services, remote ], servicename: tasmoadmin, basedir: /srv/tasmoadmin, domain: "tasmoadmin.warpzone.remote" } - { role: remote/docker_unifi, tags: [ unifi, docker_services, remote ], servicename: unifi, basedir: /srv/unifi, domain: "unifi.warpzone.remote" }