Hier ist ein passendes **README.md**, das deine Anforderungen erfΓΌllt: --- # πŸ“¦ Ansible Role: Container Homepage This role deploys a tenant-specific instance of the **homepage container** (e.g. [gethomepage.dev](https://gethomepage.dev)) It uses Docker Compose and copies custom configuration files per host. --- ## πŸš€ **Getting Started** ### 1️⃣ **Prepare tenant-specific config files** All example config files are located in: ``` roles/container_homepage/files/ ``` πŸ‘‰ Copy these files to your inventory directory under the following structure: ``` inventory/[TENANT]/host_files/[HOST]/container_homepage_config_files/ ``` Example: ``` inventory/tenant1/host_files/docker1/container_homepage_config_files/bookmarks.yaml inventory/tenant1/host_files/docker1/container_homepage_config_files/settings.yaml ... ``` ⚠️ **Customize these files** before deploying, according to the requirements of your tenant and host. --- ## βš™οΈ **Default Variables** These are defined in `defaults/main.yml`: ```yaml container_homepage_version: latest container_homepage_domain: dashboard.example.com container_homepage_directory: /opt/docker/homepage container_homepage_config_files: - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/bookmarks.yaml" dest: "bookmarks.yaml" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/settings.yaml" dest: "settings.yaml" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/custom.css" dest: "custom.css" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/custom.js" dest: "custom.js" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/docker.yaml" dest: "docker.yaml" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/kubernetes.yaml" dest: "kubernetes.yaml" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/services.yaml" dest: "services.yaml" - src: "{{ inventory_dir }}/host_files/{{ inventory_hostname }}/container_homepage_config_files/widgets.yaml" dest: "widgets.yaml" ``` --- ## πŸ“‚ **Inventory example** ``` inventory/ └── tenant1/ β”œβ”€β”€ hosts.yml └── host_files/ └── docker1/ └── container_homepage_config_files/ β”œβ”€β”€ bookmarks.yaml β”œβ”€β”€ settings.yaml β”œβ”€β”€ custom.css β”œβ”€β”€ custom.js β”œβ”€β”€ docker.yaml β”œβ”€β”€ kubernetes.yaml β”œβ”€β”€ services.yaml └── widgets.yaml ``` --- ## πŸ“ **Usage** Run your playbook as usual: ```bash ansible-playbook -i inventory/tenant1/inventory.yml playbooks/playbook.yml ``` The role will: βœ… Ensure directories exist βœ… Deploy Docker Compose and environment files βœ… Copy the tenant-specific configuration files βœ… Start or update the container --- ## πŸ’‘ Notes * The role expects Docker (with compose v2 plugin) to be installed on the target host. * The docker-compose and .env files should be templated or provided by your playbook or role. * Make sure the `container_homepage_directory` location has correct permissions for your user/container runtime. ---