Dotfiles/setup/modules/optional-Modules/apps
The_miro f66775ce54 setup: add FreeIPA image builder and Keycloak integration
freeipa-image-builder.sh: TUI chooser that builds a FreeIPA server image
and exports it to four target formats:
  docker      — builds via podman/docker, optional registry push
  lxc         — exports container rootfs as .tar.zst Proxmox CT template,
                 generates pct import instructions
  proxmox-vm  — downloads Rocky/Fedora cloud image, customizes with
                 virt-customize, outputs QCOW2 + cloud-init user-data.yml
  oci-archive — skopeo OCI tarball for air-gapped import

Keycloak TUI option generates the full constellation:
  docker-compose.yml   FreeIPA + Keycloak + PostgreSQL stack
  .env                 pre-filled env template (passwords placeholder)
  keycloak-configure.sh  post-start Keycloak REST API config script

image/Dockerfile: Fedora 41 + freeipa-server-dns + ansible-core,
systemd-enabled container (CMD /sbin/init).

image/ipa-first-boot.{sh,service}: systemd oneshot that runs
ipa-server-install on first container/VM boot from env vars
(IPA_DOMAIN, IPA_ADMIN_PASSWORD, IPA_DM_PASSWORD, and optionals).
ConditionPathExists=!/etc/ipa/default.conf makes it idempotent.

image/keycloak-configure.sh: Keycloak REST API automation that:
  - waits for Keycloak readiness
  - creates a realm
  - wires FreeIPA LDAP user federation (READ_ONLY, vendor=rhds)
  - adds attribute mappers: email, firstName, lastName, uidNumber
  - adds group mapper (IPA groups → Keycloak groups, cn=groups,cn=accounts)
  - triggers an initial full user sync

image/docker-compose.yml: freeipa + postgres + keycloak services on
a private 172.30.0.0/24 bridge; FreeIPA has a fixed IP so Keycloak
can resolve it via extra_hosts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:22:48 +02:00
..
blender.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
butter.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
claude.sh setup: add Claude Code module 2026-05-18 10:46:13 +02:00
cockpit.sh setup: add ssh-server, docker, podman, cockpit optional modules; add less to pacstrap 2026-05-12 15:54:13 +02:00
croc.sh setup: add croc to optional apps; fix shell match in tui summary 2026-05-18 03:03:01 +02:00
db-clients.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
disk-recovery.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
docker.sh setup: add ssh-server, docker, podman, cockpit optional modules; add less to pacstrap 2026-05-12 15:54:13 +02:00
ffmpeg.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
freeipa-image-builder.sh setup: add FreeIPA image builder and Keycloak integration 2026-05-18 11:22:48 +02:00
freeipa-server.sh setup: add FreeIPA server module and generic client script 2026-05-18 11:12:31 +02:00
gnuplot.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
himalaya.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
imagemagick.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
k8s.sh setup: add per-app install scripts and TUI apps phase 2026-05-11 15:25:50 +02:00
llama-cpp.sh setup: add ollama and llama.cpp modules 2026-05-18 10:53:12 +02:00
localsend.sh setup: expand apps list, fold nettools into core, fix hyprland packages 2026-05-11 15:46:30 +02:00
localtunnel.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
mysql.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
networking-cli.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
ollama.sh setup: add ollama and llama.cpp modules 2026-05-18 10:53:12 +02:00
onlyoffice.sh setup: expand apps list, fold nettools into core, fix hyprland packages 2026-05-11 15:46:30 +02:00
open-webui.sh setup: add Open WebUI module 2026-05-18 11:01:20 +02:00
podman.sh setup: add ssh-server, docker, podman, cockpit optional modules; add less to pacstrap 2026-05-12 15:54:13 +02:00
povray.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
prismlauncher.sh setup: add per-app install scripts and TUI apps phase 2026-05-11 15:25:50 +02:00
productivity.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
sox.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
spotify.sh setup: add per-app install scripts and TUI apps phase 2026-05-11 15:25:50 +02:00
ssh-server.sh setup: add ssh-server, docker, podman, cockpit optional modules; add less to pacstrap 2026-05-12 15:54:13 +02:00
steam.sh setup: add per-app install scripts and TUI apps phase 2026-05-11 15:25:50 +02:00
tlp.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
toot.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00
vesktop.sh setup: add per-app install scripts and TUI apps phase 2026-05-11 15:25:50 +02:00
vintagestory.sh setup: expand apps list, fold nettools into core, fix hyprland packages 2026-05-11 15:46:30 +02:00
wireshark.sh setup: expand apps list, fold nettools into core, fix hyprland packages 2026-05-11 15:46:30 +02:00
yt-dlp.sh setup: add 17 optional modules, expand core packages, add install-modules entrypoint 2026-05-18 10:41:47 +02:00