From defc4a59ffb98bde3b893fd3a1462599743965c1 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Sun, 7 Sep 2025 23:43:20 +0200 Subject: [PATCH] feat(docker): match services that moved to k3s Signed-off-by: Tuan-Dat Tran --- playbooks/docker-host.yml | 6 +- .../docker_host/tasks/40_directory_setup.yml | 1 + roles/docker_host/tasks/main.yml | 4 +- roles/docker_host/vars/main.yml | 2 - roles/reverse_proxy/tasks/50_netcup_dns.yml | 26 +- vars/docker.ini | 1 - vars/group_vars/docker/docker.yml | 292 +----------------- 7 files changed, 22 insertions(+), 310 deletions(-) diff --git a/playbooks/docker-host.yml b/playbooks/docker-host.yml index ba53722..e8f490e 100644 --- a/playbooks/docker-host.yml +++ b/playbooks/docker-host.yml @@ -3,9 +3,9 @@ hosts: docker_host gather_facts: true roles: - - role: common - tags: - - common + # - role: common + # tags: + # - common - role: docker_host tags: - docker_host diff --git a/roles/docker_host/tasks/40_directory_setup.yml b/roles/docker_host/tasks/40_directory_setup.yml index 78b6e2c..e73c071 100644 --- a/roles/docker_host/tasks/40_directory_setup.yml +++ b/roles/docker_host/tasks/40_directory_setup.yml @@ -38,4 +38,5 @@ - /media/series - /media/movies - /media/songs + - /media/downloads become: true diff --git a/roles/docker_host/tasks/main.yml b/roles/docker_host/tasks/main.yml index d50cb1a..aa13276 100644 --- a/roles/docker_host/tasks/main.yml +++ b/roles/docker_host/tasks/main.yml @@ -11,8 +11,8 @@ - name: Setup directory structure for docker ansible.builtin.include_tasks: 40_directory_setup.yml -- name: Deploy configs - ansible.builtin.include_tasks: 50_provision.yml +# - name: Deploy configs +# ansible.builtin.include_tasks: 50_provision.yml - name: Deploy docker compose ansible.builtin.include_tasks: 60_deploy_compose.yml diff --git a/roles/docker_host/vars/main.yml b/roles/docker_host/vars/main.yml index 1670b18..e1dd095 100644 --- a/roles/docker_host/vars/main.yml +++ b/roles/docker_host/vars/main.yml @@ -1,7 +1,5 @@ docker_host_package_common_dependencies: - nfs-common - - firmware-misc-nonfree - - linux-image-amd64 apt_lock_files: - /var/lib/dpkg/lock diff --git a/roles/reverse_proxy/tasks/50_netcup_dns.yml b/roles/reverse_proxy/tasks/50_netcup_dns.yml index d4d3cd0..7e0c8da 100644 --- a/roles/reverse_proxy/tasks/50_netcup_dns.yml +++ b/roles/reverse_proxy/tasks/50_netcup_dns.yml @@ -1,14 +1,14 @@ --- -- name: Setup DNS on Netcup - community.general.netcup_dns: - api_key: "{{ netcup_api_key }}" - api_password: "{{ netcup_api_password }}" - customer_id: "{{ netcup_customer_id }}" - domain: "{{ domain }}" - name: "{{ service.name }}" - type: "A" - value: "{{ hostvars['docker-lb'].ansible_default_ipv4.address }}" - loop: "{{ services }}" - loop_control: - loop_var: service - delegate_to: localhost +# - name: Setup DNS on Netcup +# community.general.netcup_dns: +# api_key: "{{ netcup_api_key }}" +# api_password: "{{ netcup_api_password }}" +# customer_id: "{{ netcup_customer_id }}" +# domain: "{{ domain }}" +# name: "{{ service.name }}" +# type: "A" +# value: "{{ hostvars['docker-lb'].ansible_default_ipv4.address }}" +# loop: "{{ services }}" +# loop_control: +# loop_var: service +# delegate_to: localhost diff --git a/vars/docker.ini b/vars/docker.ini index 139a196..b19e525 100644 --- a/vars/docker.ini +++ b/vars/docker.ini @@ -1,6 +1,5 @@ [docker_host] docker-host11 -docker-host10 docker-host12 [docker_lb] diff --git a/vars/group_vars/docker/docker.yml b/vars/group_vars/docker/docker.yml index 65032ab..889bc7e 100644 --- a/vars/group_vars/docker/docker.yml +++ b/vars/group_vars/docker/docker.yml @@ -24,58 +24,6 @@ services: - 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 vm: - docker-host11 @@ -106,32 +54,6 @@ services: internal: 8096 external: "{{ services_external_http.jellyfin }}" 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 @@ -145,52 +67,6 @@ services: - 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 @@ -205,7 +81,7 @@ services: external: /media/songs - name: "Torrent Downloads" internal: /downloads - external: /media/docker/data/arr_downloads/lidarr + external: /media/downloads/lidarr ports: - name: "http" internal: 8686 @@ -214,74 +90,6 @@ services: - 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 vm: - docker-host11 @@ -370,7 +178,7 @@ services: external: "{{ docker.directories.local }}/torrentleech/config" - name: "Downloads" internal: /downloads - external: /media/docker/data/arr_downloads + external: /media/downloads ports: - name: "http" internal: proxy_only @@ -395,7 +203,7 @@ services: external: "{{ docker.directories.local }}/qbit/config" - name: "Downloads" internal: /downloads - external: /media/docker/data/arr_downloads + external: /media/downloads ports: - name: "http" internal: proxy_only @@ -406,97 +214,3 @@ services: - 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 }}"