Compare commits

...

6 Commits

Author SHA1 Message Date
Tuan-Dat Tran
2909d6e16c feat(nfs): Removed unused/removed nfs servers
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
0aed818be5 feat(docker): Removed nodes docker-host10 and docker-host12
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
fbdeec93ce feat(docker): match services that moved to k3s
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
44626101de feat(docker): match services that moved to k3s
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
c1d6f13275 refactor(ansible-lint): fixed ansible-lint warnings
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
282e98e90a fix(proxmox): commented 'non-errors' on script
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-09-15 23:29:03 +02:00
19 changed files with 37 additions and 504 deletions

View File

@@ -13,6 +13,8 @@ skip_list:
- fqcn-builtins - fqcn-builtins
- no-handler - no-handler
- var-naming - var-naming
- no-changed-when
- risky-shell-pipe
# Enforce certain rules that are not enabled by default. # Enforce certain rules that are not enabled by default.
enable_list: enable_list:

View File

@@ -3,9 +3,9 @@
hosts: docker_host hosts: docker_host
gather_facts: true gather_facts: true
roles: roles:
- role: common # - role: common
tags: # tags:
- common # - common
- role: docker_host - role: docker_host
tags: tags:
- docker_host - docker_host

View File

@@ -79,12 +79,13 @@
path: ~/.config/nvim path: ~/.config/nvim
register: nvim_config register: nvim_config
- name: Clone LazyVim starter to Neovim config directory - name: Clone personal Neovim config directory
ansible.builtin.git: ansible.builtin.git:
repo: https://github.com/LazyVim/starter repo: https://codeberg.org/tudattr/nvim
dest: ~/.config/nvim dest: ~/.config/nvim
clone: true clone: true
update: false update: false
version: 1.0.0
when: not nvim_config.stat.exists when: not nvim_config.stat.exists
- name: Remove .git directory from Neovim config - name: Remove .git directory from Neovim config

View File

@@ -5,7 +5,6 @@
state: directory state: directory
mode: "0755" mode: "0755"
loop: loop:
- /media/docker
- /media/series - /media/series
- /media/movies - /media/movies
- /media/songs - /media/songs
@@ -38,4 +37,5 @@
- /media/series - /media/series
- /media/movies - /media/movies
- /media/songs - /media/songs
- /media/downloads
become: true become: true

View File

@@ -11,8 +11,8 @@
- name: Setup directory structure for docker - name: Setup directory structure for docker
ansible.builtin.include_tasks: 40_directory_setup.yml ansible.builtin.include_tasks: 40_directory_setup.yml
- name: Deploy configs # - name: Deploy configs
ansible.builtin.include_tasks: 50_provision.yml # ansible.builtin.include_tasks: 50_provision.yml
- name: Deploy docker compose - name: Deploy docker compose
ansible.builtin.include_tasks: 60_deploy_compose.yml ansible.builtin.include_tasks: 60_deploy_compose.yml

View File

@@ -1,7 +1,5 @@
docker_host_package_common_dependencies: docker_host_package_common_dependencies:
- nfs-common - nfs-common
- firmware-misc-nonfree
- linux-image-amd64
apt_lock_files: apt_lock_files:
- /var/lib/dpkg/lock - /var/lib/dpkg/lock

View File

@@ -2,11 +2,6 @@
This role facilitates the management of Proxmox VE resources, including virtual machines (VMs) and LXC containers. It automates the setup of Proxmox nodes and the creation, configuration, and destruction of guests. This role facilitates the management of Proxmox VE resources, including virtual machines (VMs) and LXC containers. It automates the setup of Proxmox nodes and the creation, configuration, and destruction of guests.
## Requirements
- `community.general.proxmox_vm_info`
- `community.general.proxmox_kvm`
## Role Variables ## Role Variables
| Variable | Description | Default Value | | Variable | Description | Default Value |

View File

@@ -65,11 +65,11 @@ restart_vm() {
} }
# Main execution # Main execution
log_message "Starting monitoring of VM $VM_ID on port $PORT..." # log_message "Starting monitoring of VM $VM_ID on port $PORT..."
# Check if port 22 is open # Check if port 22 is open
if ! check_port; then if ! check_port; then
restart_vm restart_vm
else # else
log_message "Port $PORT is reachable. VM is running normally." # log_message "Port $PORT is reachable. VM is running normally."
fi fi

View File

@@ -23,6 +23,7 @@
vfio_virqfd vfio_virqfd
create: true create: true
backup: true backup: true
mode: 644
register: vfio_result register: vfio_result
- name: Update initramfs - name: Update initramfs

View File

@@ -1,7 +1,6 @@
--- ---
- name: Decrypt vm vault file - name: Decrypt vm vault file
ansible.builtin.shell: cd ../; ansible-vault decrypt "./playbooks/{{ proxmox_vault_file }}" ansible.builtin.shell: cd ../; ansible-vault decrypt "./playbooks/{{ proxmox_vault_file }}"
ignore_errors: true
no_log: true no_log: true
- name: Load existing vault content - name: Load existing vault content
@@ -43,5 +42,4 @@
- name: Encrypt vm vault file - name: Encrypt vm vault file
ansible.builtin.shell: cd ../; ansible-vault encrypt "./playbooks/{{ proxmox_vault_file }}" ansible.builtin.shell: cd ../; ansible-vault encrypt "./playbooks/{{ proxmox_vault_file }}"
ignore_errors: true
no_log: true no_log: true

View File

@@ -1,6 +1,6 @@
--- ---
- name: Gather info about VM - name: Gather info about VM
community.general.proxmox_vm_info: community.proxmox.proxmox_vm_info:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"
@@ -9,7 +9,7 @@
register: vm_info register: vm_info
- name: Stop VM - name: Stop VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"
@@ -21,7 +21,7 @@
when: vm_info.proxmox_vms | length > 0 when: vm_info.proxmox_vms | length > 0
- name: Destroy VM - name: Destroy VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"

View File

@@ -1,6 +1,6 @@
--- ---
- name: Create VM - name: Create VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"

View File

@@ -25,7 +25,7 @@
delegate_to: "{{ vm.node }}" delegate_to: "{{ vm.node }}"
- name: Start VM - name: Start VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"
@@ -42,7 +42,7 @@
seconds: 5 seconds: 5
- name: Start VM - name: Start VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"
@@ -99,7 +99,7 @@
- name: Creates PATH-entry for crontab - name: Creates PATH-entry for crontab
ansible.builtin.cron: ansible.builtin.cron:
name: PATH name: PATH
env: yes env: true
job: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin job: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
delegate_to: "{{ vm.node }}" delegate_to: "{{ vm.node }}"

View File

@@ -5,7 +5,7 @@
retry_count: "{{ 0 if retry_count is undefined else retry_count | int + 1 }}" retry_count: "{{ 0 if retry_count is undefined else retry_count | int + 1 }}"
- name: Stop VM - name: Stop VM
community.general.proxmox_kvm: community.proxmox.proxmox_kvm:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"
@@ -16,7 +16,7 @@
force: true force: true
- name: Wait until VM is fully stopped - name: Wait until VM is fully stopped
community.general.proxmox_vm_info: community.proxmox.proxmox_vm_info:
api_user: "{{ proxmox_api_user }}@pam" api_user: "{{ proxmox_api_user }}@pam"
api_token_id: "{{ proxmox_api_token_id }}" api_token_id: "{{ proxmox_api_token_id }}"
api_token_secret: "{{ proxmox_api_token_secret }}" api_token_secret: "{{ proxmox_api_token_secret }}"

View File

@@ -1,14 +1,14 @@
--- ---
- name: Setup DNS on Netcup # - name: Setup DNS on Netcup
community.general.netcup_dns: # community.general.netcup_dns:
api_key: "{{ netcup_api_key }}" # api_key: "{{ netcup_api_key }}"
api_password: "{{ netcup_api_password }}" # api_password: "{{ netcup_api_password }}"
customer_id: "{{ netcup_customer_id }}" # customer_id: "{{ netcup_customer_id }}"
domain: "{{ domain }}" # domain: "{{ domain }}"
name: "{{ service.name }}" # name: "{{ service.name }}"
type: "A" # type: "A"
value: "{{ hostvars['docker-lb'].ansible_default_ipv4.address }}" # value: "{{ hostvars['docker-lb'].ansible_default_ipv4.address }}"
loop: "{{ services }}" # loop: "{{ services }}"
loop_control: # loop_control:
loop_var: service # loop_var: service
delegate_to: localhost # delegate_to: localhost

View File

@@ -1,7 +1,5 @@
[docker_host] [docker_host]
docker-host11 docker-host11
docker-host10
docker-host12
[docker_lb] [docker_lb]
docker-lb docker-lb

View File

@@ -7,75 +7,6 @@ docker:
compose: "/opt/docker/compose/" compose: "/opt/docker/compose/"
services: services:
- name: status
vm:
- docker-host12
container_name: kuma
image: louislam/uptime-kuma:1.23.16
volumes:
- name: "Data"
internal: /app/data
external: "{{ docker.directories.local }}/kuma/"
ports:
- name: "http"
internal: 3001
external: "{{ services_external_http.kuma }}"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- name: plex
vm:
- docker-host10
container_name: plex
image: lscr.io/linuxserver/plex:1.41.5
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/plex/config/"
- name: "TV Series"
internal: /tv:ro
external: /media/series
- name: "Movies"
internal: /movies:ro
external: /media/movies
- name: "Music"
internal: /music:ro
external: /media/songs
devices:
- name: "Graphics Card"
internal: /dev/dri
external: /dev/dri
ports:
- name: "http"
internal: 32400
external: "{{ services_external_http.plex }}"
- name: ""
internal: 1900
external: 1900
- name: ""
internal: 3005
external: 3005
- name: ""
internal: 5353
external: 5353
- name: ""
internal: 32410
external: 32410
- name: ""
internal: 8324
external: 8324
- name: ""
internal: 32412
external: 32412
- name: ""
internal: 32469
external: 32469
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- VERSION=docker
- name: jellyfin - name: jellyfin
vm: vm:
- docker-host11 - docker-host11
@@ -106,182 +37,6 @@ services:
internal: 8096 internal: 8096
external: "{{ services_external_http.jellyfin }}" external: "{{ services_external_http.jellyfin }}"
environment: environment:
- name: hass
vm:
- docker-host11
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
privileged: true
volumes:
- name: "Configuration"
internal: /config/
external: "{{ docker.directories.local }}/home-assistant/config/"
- name: "Local Time"
internal: /etc/localtime:ro
external: /etc/localtime
ports:
- name: "http"
internal: 8123
external: "{{ services_external_http.hass }}"
- name: ""
internal: 4357
external: 4357
- name: ""
internal: 5683
external: 5683
- name: ""
internal: 5683
external: 5683
- name: ddns
vm:
- docker-host12
container_name: ddns-updater
image: qmcgaw/ddns-updater:2
volumes:
- name: "Configuration"
internal: /updater/data/
external: "{{ docker.directories.local }}/ddns-updater/data/"
ports:
- name: "http"
internal: 8000
external: "{{ services_external_http.ddns }}"
- name: sonarr
vm:
- docker-host12
container_name: sonarr
image: linuxserver/sonarr:4.0.14
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/sonarr/config"
- name: "Tv Series"
internal: /tv
external: /media/series
- name: "Torrent Downloads"
internal: /downloads
external: /media/docker/data/arr_downloads/sonarr
ports:
- name: "http"
internal: 8989
external: "{{ services_external_http.sonarr }}"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- name: radarr
vm:
- docker-host12
container_name: radarr
image: linuxserver/radarr:5.21.1
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/radarr/config"
- name: "Movies"
internal: /movies
external: /media/movies
- name: "Torrent Downloads"
internal: /downloads
external: /media/docker/data/arr_downloads/radarr
ports:
- name: "http"
internal: 7878
external: "{{ services_external_http.radarr }}"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- name: lidarr
vm:
- docker-host12
container_name: lidarr
image: linuxserver/lidarr:2.10.3
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/lidarr/config"
- name: "Music"
internal: /music
external: /media/songs
- name: "Torrent Downloads"
internal: /downloads
external: /media/docker/data/arr_downloads/lidarr
ports:
- name: "http"
internal: 8686
external: "{{ services_external_http.lidarr }}"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- name: prowlarr
vm:
- docker-host12
container_name: prowlarr
image: linuxserver/prowlarr:1.32.2
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/prowlarr/config"
ports:
- name: "http"
internal: 9696
external: "{{ services_external_http.prowlarr }}"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- name: paperless
vm:
- docker-host12
container_name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx:2.14
depends_on:
- paperless-postgres
- paperless-redis
volumes:
- name: "Configuration"
internal: /usr/src/paperless/data
external: "{{ docker.directories.local }}/paperless/data/data"
- name: "Media"
internal: /usr/src/paperless/media
external: "{{ docker.directories.local }}/paperless/data/media"
- name: "Document Export"
internal: /usr/src/paperless/export
external: "{{ docker.directories.local }}/paperless/data/export"
- name: "Document Consume"
internal: /usr/src/paperless/consume
external: "{{ docker.directories.local }}/paperless/data/consume"
environment:
- "PAPERLESS_REDIS=redis://paperless-redis:6379"
- "PAPERLESS_DBHOST=paperless-postgres"
- "PAPERLESS_DBUSER=paperless"
- "PAPERLESS_DBPASS={{ vault_docker.paperless.dbpass }}"
- "USERMAP_UID=1000"
- "USERMAP_GID=1000"
- "PAPERLESS_URL=https://paperless.{{ domain }}"
- "PAPERLESS_TIME_ZONE=Europe/Berlin"
- "PAPERLESS_OCR_LANGUAGE=deu"
ports:
- name: "http"
internal: 8000
external: "{{ services_external_http.paperless }}"
sub_service:
- name: postgres
version: 15
username: paperless
password: "{{ vault_docker.paperless.dbpass }}"
- name: redis
version: 7
- name: pdf
vm:
- docker-host12
container_name: stirling
image: frooodle/s-pdf:0.45.0
ports:
- name: "http"
internal: 8080
external: "{{ services_external_http.pdf }}"
- name: git - name: git
vm: vm:
- docker-host11 - docker-host11
@@ -310,193 +65,3 @@ services:
environment: environment:
- USER_UID=1000 - USER_UID=1000
- USER_GID=1000 - USER_GID=1000
- name: changedetection
vm:
- docker-host12
container_name: changedetection
image: dgtlmoon/changedetection.io:0.49
healthcheck: curl
volumes:
- name: "Data"
internal: /datastore
external: "{{ docker.directories.local }}/changedetection/data/"
ports:
- name: "http"
internal: 5000
external: "{{ services_external_http.changedetection }}"
- name: gluetun
vm:
- docker-host12
container_name: gluetun
image: qmcgaw/gluetun:v3.40
cap_add:
- NET_ADMIN
devices:
- name: "Tunnel"
internal: /dev/net/tun
external: /dev/net/tun
volumes:
- name: "Configuration"
internal: /gluetun
external: "{{ docker.directories.local }}/gluetun/config"
ports:
- name: "Qbit Client"
internal: 8082
external: 8082
- name: "Torrentleech Client"
internal: 8083
external: 8083
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- VPN_SERVICE_PROVIDER=protonvpn
- UPDATER_VPN_SERVICE_PROVIDERS=protonvpn
- UPDATER_PERIOD=24h
- "SERVER_COUNTRIES={{ vault_docker.proton.country }}"
- "OPENVPN_USER={{ vault_docker.proton.openvpn_user }}"
- "OPENVPN_PASSWORD={{ vault_docker.proton.openvpn_password }}"
- name: torrentleech
vm:
- docker-host12
container_name: torrentleech
image: qbittorrentofficial/qbittorrent-nox
depends_on:
- gluetun
network_mode: "container:gluetun"
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/torrentleech/config"
- name: "Downloads"
internal: /downloads
external: /media/docker/data/arr_downloads
ports:
- name: "http"
internal: proxy_only
external: 8083
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- QBT_EULA="accept"
- QBT_WEBUI_PORT="8083"
- name: qbit
vm:
- docker-host12
container_name: qbit
image: qbittorrentofficial/qbittorrent-nox:5.0.4-1
depends_on:
- gluetun
network_mode: "container:gluetun"
volumes:
- name: "Configuration"
internal: /config
external: "{{ docker.directories.local }}/qbit/config"
- name: "Downloads"
internal: /downloads
external: /media/docker/data/arr_downloads
ports:
- name: "http"
internal: proxy_only
external: 8082
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- QBT_EULA="accept"
- QBT_WEBUI_PORT="8082"
- name: cadvisor
vm:
- docker-host10
- docker-host11
- docker-host12
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:v0.52.1
ports:
- name: ""
internal: 8080
external: 8081
volumes:
- name: "Root"
internal: /rootfs:ro
external: /
- name: "Run"
internal: /var/run:rw
external: /var/run
- name: "System"
internal: /sys:ro
external: /sys
- name: "Docker"
internal: /var/lib/docker:ro
external: /var/lib/docker
- name: karakeep
vm:
- docker-host11
container_name: karakeep
image: ghcr.io/karakeep-app/karakeep:0.23.2
ports:
- name: "http"
internal: 3000
external: "{{ services_external_http.karakeep }}"
volumes:
- name: "Data"
internal: /data
external: "{{ docker.directories.local }}/karakeep/config"
environment:
- MEILI_ADDR=http://karakeep-meilisearch:7700
- BROWSER_WEB_URL=http://karakeep-chrome:9222
- NEXTAUTH_SECRET={{ vault_docker.karakeep.nextauth_secret }}
- MEILI_MASTER_KEY={{ vault_docker.karakeep.meili_master_key }}
- NEXTAUTH_URL=https://karakeep.tudattr.dev/
- OPENAI_API_KEY={{ vault_docker.karakeep.openai_key }}
- DATA_DIR=/data
- DISABLE_SIGNUPS=true
sub_service:
- name: meilisearch
version: v1.11.1
nextauth_secret: "{{ vault_docker.karakeep.nextauth_secret }}"
meili_master_key: "{{ vault_docker.karakeep.meili_master_key }}"
openai_key: "{{ vault_docker.karakeep.openai_key }}"
- name: chrome
version: 123
# - name: keycloak
# vm:
# - docker-host11
# container_name: keycloak
# image: quay.io/keycloak/keycloak:26.2
# depends_on:
# - keycloak-postgres
# ports:
# - name: "http"
# internal: 8080
# external: "{{ services_external_http.keycloak }}"
# volumes:
# - name: "config"
# internal: /opt/keycloak/data/import/homelab-realm.json
# external: "{{ docker.directories.local }}/keycloak/homelab-realm.json"
# - name: "config"
# internal: /opt/keycloak/data/import/master-realm.json
# external: "{{ docker.directories.local }}/keycloak/master-realm.json"
# command:
# - "start"
# - "--import-realm"
# environment:
# - KC_DB=postgres
# - KC_DB_URL=jdbc:postgresql://keycloak-postgres:5432/keycloak
# - KC_DB_USERNAME={{ keycloak_config.database.username }}
# - KC_DB_PASSWORD={{ keycloak_config.database.password }}
# - KC_HOSTNAME=keycloak.{{ internal_domain }}
# - KC_HTTP_ENABLED=true
# - KC_HTTP_RELATIVE_PATH=/
# - KC_PROXY=edge
# - KC_PROXY_HEADERS=xforwarded
# - KC_HOSTNAME_URL=https://keycloak.{{ internal_domain }}
# - KC_HOSTNAME_ADMIN_URL=https://keycloak.{{ internal_domain }}
# - KC_BOOTSTRAP_ADMIN_USERNAME=serviceadmin-{{ keycloak_admin_hash }}
# - KC_BOOTSTRAP_ADMIN_PASSWORD={{ vault_docker.keycloak.admin.password }}
# sub_service:
# - name: postgres
# version: 17
# username: "{{ keycloak_config.database.username }}"
# password: "{{ keycloak_config.database.password }}"

View File

@@ -13,7 +13,6 @@ argocd_hostname: "argocd.k3s.{{ domain }}"
metallb_ip_range: "192.168.20.240-192.168.20.250" metallb_ip_range: "192.168.20.240-192.168.20.250"
kubernetes_nfs_server_host: "{{ nfs_server }}" kubernetes_nfs_server_host: "{{ nfs_server }}"
kubernetes_nfs_server_path: /media/kubernetes
argocd_git_repository: https://git.seyshiro.de/tudattr/homelab-argocd argocd_git_repository: https://git.seyshiro.de/tudattr/homelab-argocd
argocd_git_username: tudattr argocd_git_username: tudattr

View File

@@ -1,17 +1,4 @@
vms: vms:
- name: "docker-host10"
node: "lulu"
vmid: 410
cores: 2
memory: 4096 # in MiB
net:
net0: "virtio,bridge=vmbr0,firewall=1"
boot_image: "{{ proxmox_cloud_init_images.debian.name }}"
ciuser: "{{ user }}"
sshkeys: "{{ pubkey }}"
disk_size: 128 # in Gb
hostpci:
hostpci0: "mapping=quicksync-lulu"
- name: "docker-host11" - name: "docker-host11"
node: "inko01" node: "inko01"
vmid: 411 vmid: 411
@@ -25,17 +12,6 @@ vms:
disk_size: 128 # in Gb disk_size: 128 # in Gb
hostpci: hostpci:
hostpci0: "mapping=quicksync-inko01" hostpci0: "mapping=quicksync-inko01"
- name: "docker-host12"
node: "inko01"
vmid: 412
cores: 4
memory: 8192
net:
net0: "virtio,bridge=vmbr0,firewall=1"
boot_image: "{{ proxmox_cloud_init_images.ubuntu.name }}"
ciuser: "{{ user }}"
sshkeys: "{{ pubkey }}"
disk_size: 128 # in Gb
- name: "k3s-server10" - name: "k3s-server10"
node: "naruto01" node: "naruto01"
vmid: 110 vmid: 110