From 91ac9bd8b418357419ba002bcc1cf7311d5e3cb8 Mon Sep 17 00:00:00 2001 From: "Tobias J. Endres" Date: Tue, 2 Sep 2025 22:06:30 +0200 Subject: [PATCH] docs: Update README and PLAN with Podman integration and current progress --- PLAN.md | 16 ++++++++-------- README.md | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/PLAN.md b/PLAN.md index fb0b425..f98b439 100644 --- a/PLAN.md +++ b/PLAN.md @@ -10,28 +10,28 @@ The goal is to set up a personal cloud environment on your two hosts, Mulder and * **Goal:** Deploy the `common` and `network` roles on Scully. The `network` role will set up Nginx Proxy Manager (for HTTPS and subdomain routing) and WireGuard Easy (for VPN with web UI). * **Host and Role Assignments:** - * **Scully:** `common`, `network` + * **Scully:** `common`, `podman`, `network` * **Configuration Files:** * `inventory/hosts.yml`: Defines Mulder and Scully, their connection details, and role-specific variables. - * `playbooks/main.yml`: Modified to execute the `common` and `network` roles on Scully. + * `playbooks/main.yml`: Modified to execute the `common`, `podman`, and `network` roles on Scully. * `group_vars/all.yml`: Contains common variables like the domain name and service credentials. * **Execution Plan:** - 1. Perform a dry run of the playbook to deploy the `common` and `network` roles on Scully. - 2. If the dry run is successful, execute the playbook to apply the changes. + 1. Run the playbook to deploy the `common`, `podman`, and `network` roles on Scully. (Podman and Portainer are now successfully installed). + 2. After successful execution, verify the network services. ### Phase 2: Gitea and Keycloak Deployment (Future) * **Goal:** Deploy Gitea on Mulder and Keycloak on Scully, along with their respective PostgreSQL databases. * **Host and Role Assignments:** - * **Mulder:** `common`, `postgres`, `gitea` - * **Scully:** `common`, `postgres`, `keycloak` (in addition to `network`) + * **Mulder:** `common`, `podman`, `postgres`, `gitea` + * **Scully:** `common`, `podman`, `postgres`, `keycloak` (in addition to `network`) * **Dependencies:** This phase depends on the successful completion of Phase 1 and the availability of the domain name. * **Next Steps:** Once Phase 1 is complete, we will update the `playbooks/main.yml` and `group_vars/all.yml` to include the `postgres`, `gitea`, and `keycloak` roles. ## 3. What We Still Need -* **Your Domain Name:** Please provide the domain name you want to use for your personal cloud (e.g., `my-cloud.com`). This is the last piece of information needed to proceed with the dry run for Phase 1. +* **Your Domain Name:** Please provide the domain name you want to use for your personal cloud (e.g., `my-cloud.com`). (Already provided as `ai-eifel.de`). ## 4. Dry-Run -Before executing any changes, a dry run will be performed using the `--check` flag. +Dry runs will be performed where appropriate, but direct execution will be used for tasks that require actual changes to the system. \ No newline at end of file diff --git a/README.md b/README.md index 614aecf..7c9d552 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ # HomeCloudPlaybooks -My Ansible Playbooks live here \ No newline at end of file +My Ansible Playbooks live here + +## Podman Integration + +This project has been updated to use Podman as the container runtime instead of Docker. + +### Key Changes: +* The `docker` role has been removed. +* A custom `podman` role is used to install Podman, `podman-compose`, and `podman-docker`. +* Roles that deploy containers (e.g., `network`, `gitea`, `portainer`) have been adapted to use Podman-compatible commands and modules. +* `podman-compose` is used to manage multi-container applications defined in `podman-compose.j2` templates. + +### Running Playbooks with Podman: +Ensure Podman is installed and configured on your target hosts. The playbooks will handle the installation of `podman-compose` and `podman-docker`.