diff --git a/group_vars/all/00_general.yml b/group_vars/all/00_general.yml index b33df5dc..e0728946 100644 --- a/group_vars/all/00_general.yml +++ b/group_vars/all/00_general.yml @@ -1,7 +1,9 @@ # General pause_duration: "120" # Database delay to wait for the central database before continue tasks -ip4_address: "127.0.0.1" # Change thie in inventory to the ip address of your server + backups_folder_path: "/Backups/" # Path to the backups folder +timezone: "UTC" +locale: "locale" ## Domain primary_domain_tld: "localhost" # Top Level Domain of the server diff --git a/group_vars/all/07_applications.yml b/group_vars/all/07_applications.yml index 50a27582..92f18015 100644 --- a/group_vars/all/07_applications.yml +++ b/group_vars/all/07_applications.yml @@ -172,6 +172,10 @@ defaults_applications: postgres: database.version: "latest" + # Snipe-IT + snipe-it: + version: "latest" + ## Taiga taiga: version: "latest" diff --git a/group_vars/all/09_ports.yml b/group_vars/all/09_ports.yml index 3f98b7ea..cdcfe198 100644 --- a/group_vars/all/09_ports.yml +++ b/group_vars/all/09_ports.yml @@ -44,6 +44,7 @@ ports: keycloak: 8032 ldap: 8033 phpmyadmin: 8034 + snipe-it: 8035 bigbluebutton: 48087 # This port is predefined by bbb. @todo Try to change this to a 8XXX port # Ports which are exposed to the World Wide Web public: diff --git a/group_vars/all/10_networks.yml b/group_vars/all/10_networks.yml new file mode 100644 index 00000000..efd8e48b --- /dev/null +++ b/group_vars/all/10_networks.yml @@ -0,0 +1,9 @@ +defaults_networks: + internet: + ip4: "127.0.0.1" # Change this in inventory to the ip address of your server + ip6: "::01" # Change this in inventory to the ip address of your server + local: + mailu: + dns: 192.168.203.254 # Address of the Mailu DNS server + + \ No newline at end of file diff --git a/playbook.constructor.yml b/playbook.constructor.yml index e75b2b63..a667dd9c 100644 --- a/playbook.constructor.yml +++ b/playbook.constructor.yml @@ -11,6 +11,9 @@ - name: Merge application definitions set_fact: applications: "{{ defaults_applications | combine(applications | default({}, true), recursive=True) }}" + - name: Merge networks definitions + set_fact: + networks: "{{ defaults_networks | combine(networks | default({}, true), recursive=True) }}" - name: update device hosts: all diff --git a/roles/docker-akaunting/templates/run.env.j2 b/roles/docker-akaunting/templates/run.env.j2 index 44dd3e9e..e6147662 100644 --- a/roles/docker-akaunting/templates/run.env.j2 +++ b/roles/docker-akaunting/templates/run.env.j2 @@ -1,6 +1,6 @@ # You should change this to match your reverse proxy DNS name and protocol APP_URL=https://{{domain}} -LOCALE=en-US +LOCALE={{locale}} # Don't change this unless you rename your database container or use rootless podman, in case of using rootless podman you should set it to 127.0.0.1 (NOT localhost) DB_HOST={{database_host}} diff --git a/roles/docker-bigbluebutton/templates/env.j2 b/roles/docker-bigbluebutton/templates/env.j2 index a1e33fa2..4e514a31 100644 --- a/roles/docker-bigbluebutton/templates/env.j2 +++ b/roles/docker-bigbluebutton/templates/env.j2 @@ -41,12 +41,12 @@ FSESL_PASSWORD={{bigbluebutton_fsesl_password}} DOMAIN={{domain}} -EXTERNAL_IPv4={{ip4_address}} +EXTERNAL_IPv4={{{{networks.internet.ip4}}}} EXTERNAL_IPv6= # STUN SERVER # stun.freeswitch.org -STUN_IP={{ip4_address}} +STUN_IP={{{{networks.internet.ip4}}}} STUN_PORT=3478 # TURN SERVER diff --git a/roles/docker-discourse/templates/discourse_application.yml.j2 b/roles/docker-discourse/templates/discourse_application.yml.j2 index c93be9f8..47353282 100644 --- a/roles/docker-discourse/templates/discourse_application.yml.j2 +++ b/roles/docker-discourse/templates/discourse_application.yml.j2 @@ -34,7 +34,7 @@ env: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LANGUAGE: en_US.UTF-8 - # DISCOURSE_DEFAULT_LOCALE: en + #DISCOURSE_DEFAULT_LOCALE: {{locale}} # Deactivated because not right format was selected @todo find right format ## How many concurrent web requests are supported? Depends on memory and CPU cores. ## will be set automatically by bootstrap based on detected CPUs, or you can override diff --git a/roles/docker-keycloak/README.md b/roles/docker-keycloak/README.md index 76271e47..4f0655be 100644 --- a/roles/docker-keycloak/README.md +++ b/roles/docker-keycloak/README.md @@ -57,28 +57,6 @@ The role performs the following main tasks: 3. **Start Docker containers:** - The role launches the Keycloak project using Docker Compose. -## Example: Usage 🚀 - -Here is an example of how to use this role in a playbook: - -```yaml -- name: Setup Keycloak with Docker - hosts: all - vars: - domain: "auth.example.com" - applications.keycloak.version: "21.1.0" - applications.keycloak.administrator_username: "admin" - keycloak_administrator_password: "securepassword" - database_host: "db.example.com" - database_name: "keycloak_db" - database_username: "keycloak_user" - database_password: "securedbpassword" - http_port: 8080 - docker_restart_policy: "unless-stopped" - roles: - - docker-keycloak -``` - ## More Information 📚 For more details about Keycloak, check out: diff --git a/roles/docker-mailu/tasks/main.yml b/roles/docker-mailu/tasks/main.yml index d89c6e66..72b18a7c 100644 --- a/roles/docker-mailu/tasks/main.yml +++ b/roles/docker-mailu/tasks/main.yml @@ -29,10 +29,10 @@ dest: "{{docker_compose_instance_directory}}docker-compose.yml" notify: docker compose project setup -- name: add mailu.env +- name: add .env template: - src: "mailu.env.j2" - dest: "{{docker_compose_instance_directory}}mailu.env" + src: ".env.j2" + dest: "{{docker_compose_instance_directory}}.env" notify: docker compose project setup - name: flush docker service diff --git a/roles/docker-mailu/templates/docker-compose.yml.j2 b/roles/docker-mailu/templates/docker-compose.yml.j2 index 18e592b4..0746d842 100644 --- a/roles/docker-mailu/templates/docker-compose.yml.j2 +++ b/roles/docker-mailu/templates/docker-compose.yml.j2 @@ -7,29 +7,29 @@ services: # Core services resolver: image: ghcr.io/mailu/unbound:{{applications.mailu.version}} - env_file: mailu.env + env_file: .env restart: {{docker_restart_policy}} {% include 'templates/docker/container/networks.yml.j2' %} - ipv4_address: 192.168.203.254 + ipv4_address: {{networks.local.mailu.dns}} logging: driver: journald front: image: ghcr.io/mailu/nginx:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env logging: driver: journald ports: - "127.0.0.1:{{ http_port }}:80" - - "{{ ip4_address }}:25:25" - - "{{ ip4_address }}:465:465" - - "{{ ip4_address }}:587:587" - - "{{ ip4_address }}:110:110" - - "{{ ip4_address }}:995:995" - - "{{ ip4_address }}:143:143" - - "{{ ip4_address }}:993:993" - - "{{ ip4_address }}:4190:4190" + - "{{networks.internet.ip4}}:25:25" + - "{{networks.internet.ip4}}:465:465" + - "{{networks.internet.ip4}}:587:587" + - "{{networks.internet.ip4}}:110:110" + - "{{networks.internet.ip4}}:995:995" + - "{{networks.internet.ip4}}:143:143" + - "{{networks.internet.ip4}}:993:993" + - "{{networks.internet.ip4}}:4190:4190" volumes: - "/etc/mailu/overrides/nginx:/overrides:ro" - "{{cert_mount_directory}}:/certs:ro" @@ -40,12 +40,12 @@ services: webmail: radicale: dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} admin: image: ghcr.io/mailu/admin:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "admin_data:/data" - "dkim:/dkim" @@ -57,13 +57,13 @@ services: logging: driver: journald dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} {% include 'templates/docker/container/networks.yml.j2' %} imap: image: ghcr.io/mailu/dovecot:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "dovecot_mail:/mail" - "/etc/mailu/overrides:/overrides:ro" @@ -71,7 +71,7 @@ services: - front - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} logging: driver: journald {% include 'templates/docker/container/networks.yml.j2' %} @@ -79,7 +79,7 @@ services: smtp: image: ghcr.io/mailu/postfix:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "/etc/mailu/overrides:/overrides:ro" - "smtp_queue:/queue" @@ -87,7 +87,7 @@ services: - front - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} logging: driver: journald {% include 'templates/docker/container/networks.yml.j2' %} @@ -99,14 +99,14 @@ services: depends_on: - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} {% include 'templates/docker/container/networks.yml.j2' %} noinet: antispam: image: ghcr.io/mailu/rspamd:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "filter:/var/lib/rspamd" - "dkim:/dkim" @@ -117,7 +117,7 @@ services: - antivirus - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} logging: driver: journald {% include 'templates/docker/container/networks.yml.j2' %} @@ -128,13 +128,13 @@ services: antivirus: image: clamav/clamav-debian:latest restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "filter:/data" depends_on: - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} logging: driver: journald {% include 'templates/docker/container/networks.yml.j2' %} @@ -142,7 +142,7 @@ services: webdav: image: ghcr.io/mailu/radicale:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "webdav_data:/data" logging: @@ -150,7 +150,7 @@ services: depends_on: - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} {% include 'templates/docker/container/networks.yml.j2' %} radicale: @@ -159,7 +159,7 @@ services: volumes: - "admin_data:/data" restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env logging: driver: journald depends_on: @@ -168,13 +168,13 @@ services: - imap - resolver dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} {% include 'templates/docker/container/networks.yml.j2' %} webmail: image: ghcr.io/mailu/webmail:{{applications.mailu.version}} restart: {{docker_restart_policy}} - env_file: mailu.env + env_file: .env volumes: - "webmail_data:/data" - "/etc/mailu/overrides:/overrides:ro" @@ -185,7 +185,7 @@ services: logging: driver: journald dns: - - 192.168.203.254 + - {{networks.local.mailu.dns}} {% include 'templates/docker/container/networks.yml.j2' %} webmail: diff --git a/roles/docker-mailu/templates/mailu.env.j2 b/roles/docker-mailu/templates/env.j2 similarity index 100% rename from roles/docker-mailu/templates/mailu.env.j2 rename to roles/docker-mailu/templates/env.j2 diff --git a/roles/docker-matrix-ansible/templates/hosts.yml.j2 b/roles/docker-matrix-ansible/templates/hosts.yml.j2 index 52aff1d3..d2347263 100644 --- a/roles/docker-matrix-ansible/templates/hosts.yml.j2 +++ b/roles/docker-matrix-ansible/templates/hosts.yml.j2 @@ -1,7 +1,7 @@ matrix_servers: hosts: {{inventory_hostname}}: - ansible_host: "{{ip4_address}}" + ansible_host: "{{{{networks.internet.ip4}}}}" ansible_ssh_user: administrator become: true become_user: root diff --git a/roles/docker-pixelfed/templates/env.j2 b/roles/docker-pixelfed/templates/env.j2 index 25021d12..5ddb5a30 100644 --- a/roles/docker-pixelfed/templates/env.j2 +++ b/roles/docker-pixelfed/templates/env.j2 @@ -15,8 +15,8 @@ ENFORCE_EMAIL_VERIFICATION=false PF_MAX_USERS=1000 OAUTH_ENABLED=true -APP_TIMEZONE=UTC -APP_LOCALE=en +APP_TIMEZONE={{timezone}} +APP_LOCALE={{locale}} ## Pixelfed Tweaks LIMIT_ACCOUNT_SIZE=true