diff --git a/testserver/docker_dokuwiki/tasks/main.yml b/testserver/docker_dokuwiki/tasks/main.yml index a48f0ed5bee1d14b0813944ad9ae7ce7c95f8f5a..3b5413a23dc84ebedfdc766def01c03f7de981ee 100644 --- a/testserver/docker_dokuwiki/tasks/main.yml +++ b/testserver/docker_dokuwiki/tasks/main.yml @@ -3,6 +3,8 @@ - include_tasks: ../functions/get_secret.yml with_items: - { path: "{{ basedir }}/secrets/oauth_secret", length: 64} + - { path: "{{ basedir }}/dokuwiki_api_secret", length: 32 } + - { path: "{{ basedir }}/ldap_bind_pw", length: 32 } - name: create folder struct for dokuwiki file: @@ -16,6 +18,7 @@ - "{{ basedir }}/data/lib/plugins" - "{{ basedir }}/data/lib/plugins/oauth" - "{{ basedir }}/data/lib/plugins/oauthgeneric" + - "{{ basedir }}/uffd-ldapd" - name: Docker Compose Konfig-Datei erstellen template: @@ -24,35 +27,36 @@ with_items: - docker-compose.yml - Dockerfile + - uffd-ldapd/Dockerfile register: config -- name: oauth plugin clonen - ansible.builtin.git: - repo: https://github.com/cosmocode/dokuwiki-plugin-oauth.git - dest: "{{ basedir }}/data/lib/plugins/oauth" - force: true +#- name: oauth plugin clonen +# ansible.builtin.git: +# repo: https://github.com/cosmocode/dokuwiki-plugin-oauth.git +# dest: "{{ basedir }}/data/lib/plugins/oauth" +# force: true -- name: config für oauth kopieren - ansible.builtin.template: - src: oauth_vars.php - dest: "{{ basedir }}/data/lib/plugins/oauth/conf/default.php" +#- name: config für oauth kopieren +# ansible.builtin.template: +# src: oauth_vars.php +# dest: "{{ basedir }}/data/lib/plugins/oauth/conf/default.php" -- name: oauthgeneric plugin clonen - ansible.builtin.git: - repo: https://github.com/cosmocode/dokuwiki-plugin-oauthgeneric.git - dest: "{{ basedir }}/data/lib/plugins/oauthgeneric" - force: true +#- name: oauthgeneric plugin clonen +# ansible.builtin.git: +# repo: https://github.com/cosmocode/dokuwiki-plugin-oauthgeneric.git +# dest: "{{ basedir }}/data/lib/plugins/oauthgeneric" +# force: true -- name: config für oauthgeneric kopieren - ansible.builtin.template: - src: oauthgeneric_vars.php - dest: "{{ basedir }}/data/lib/plugins/oauthgeneric/conf/default.php" +#- name: config für oauthgeneric kopieren +# ansible.builtin.template: +# src: oauthgeneric_vars.php +# dest: "{{ basedir }}/data/lib/plugins/oauthgeneric/conf/default.php" -- name: oauth provider aktivieren - ansible.builtin.lineinfile: - path: "{{ basedir }}/data/conf/local.php" - regexp: "^$conf['authtype'] = " - line: "$conf['authtype'] = 'oauth';" +#- name: oauth provider aktivieren +# ansible.builtin.lineinfile: +# path: "{{ basedir }}/data/conf/local.php" +# regexp: "^$conf['authtype'] = " +# line: "$conf['authtype'] = 'oauth';" - name: "stop {{ servicename}} docker" community.docker.docker_compose_v2: diff --git a/testserver/docker_dokuwiki/templates/docker-compose.yml b/testserver/docker_dokuwiki/templates/docker-compose.yml index e3389c993b24bb52dd2b8e4bee050cda7a0eff6b..268b1874e6255798bb4603f169ef140e4d944023 100644 --- a/testserver/docker_dokuwiki/templates/docker-compose.yml +++ b/testserver/docker_dokuwiki/templates/docker-compose.yml @@ -17,7 +17,20 @@ services: networks: - default - web - + + ldap: + + build: uffd-ldapd/ + restart: always + environment: + SERVER_API_URL: "{{ oidc_global.provider_url }}" + SERVER_API_USER: "dokuwikildap" + SERVER_API_SECRET: "{{ dokuwiki_api_secret }}" + SERVER_BASE_DN: "{{ oidc_global.ldap_base_dn }}" + SERVER_BIND_PASSWORD: "{{ ldap_bind_pw}}" + networks: + - default + networks: web: external: true diff --git a/testserver/docker_dokuwiki/templates/uffd-ldapd/Dockerfile b/testserver/docker_dokuwiki/templates/uffd-ldapd/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c39c751ffa4e4807603d41a10ecba8da78910292 --- /dev/null +++ b/testserver/docker_dokuwiki/templates/uffd-ldapd/Dockerfile @@ -0,0 +1,24 @@ +FROM debian:bookworm-slim + +# Set environment variables +ENV DEBIAN_FRONTEND=noninteractive + +# Install necessary dependencies and configure custom repository +RUN apt-get update \ + && apt-get install -y --no-install-recommends wget gnupg ca-certificates \ + && wget -O- "https://packages.cccv.de/docs/cccv-archive-key.gpg" | gpg --dearmor -o /etc/apt/trusted.gpg.d/cccv-archive-key.gpg \ + && echo "deb https://packages.cccv.de/uffd bookworm main" > /etc/apt/sources.list.d/custom.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends uffd-ldapd ldap-utils \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +USER 999 +EXPOSE 389/tcp + +# Set default command +CMD ["/usr/sbin/uffd-ldapd","--socket-address","0.0.0.0:389"] + +# Get all LDAP Entries +# ldapsearch -x -H ldap://127.0.0.1 -D "cn=service,ou=system,{{ oidc_global.ldap_base_dn }}" -w "{{ ldap_bind_pw }}" -b "ou=users,{{ oidc_global.ldap_base_dn }}" "(objectClass=*)" +