docs: Update README and PLAN with Podman integration and current progress

This commit is contained in:
Tobias J. Endres 2025-09-02 22:06:30 +02:00
parent e95ae3a430
commit 91ac9bd8b4
2 changed files with 22 additions and 9 deletions

16
PLAN.md
View File

@ -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.

View File

@ -1,3 +1,16 @@
# HomeCloudPlaybooks
My Ansible Playbooks live here
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`.