From ef9e2cdee512274bd4e50d9b8f981633c9884487 Mon Sep 17 00:00:00 2001 From: uumas Date: Thu, 10 Mar 2022 05:35:13 +0200 Subject: [PATCH] Add keycloak --- docs/keycloak.md | 17 +++++++++++++++++ roles/container/tasks/main.yml | 7 ++++--- roles/gitea/meta/main.yml | 1 + roles/keycloak/README.md | 1 + roles/keycloak/meta/main.yml | 22 ++++++++++++++++++++++ 5 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 docs/keycloak.md create mode 100644 roles/keycloak/README.md create mode 100644 roles/keycloak/meta/main.yml diff --git a/docs/keycloak.md b/docs/keycloak.md new file mode 100644 index 0000000..ad29a24 --- /dev/null +++ b/docs/keycloak.md @@ -0,0 +1,17 @@ +# Required variables +These variables are required. Example values included. Some general variables might also be required for this role. + +``` +ports: + keycloak: + http: 8080 + +docker_vhost_domains: + keycloak: + - keycloak.domain.tld + +database_passwords: + keycloak: secret + +keycloak_admin_pw: secret +``` diff --git a/roles/container/tasks/main.yml b/roles/container/tasks/main.yml index 8921efb..8bddf74 100644 --- a/roles/container/tasks/main.yml +++ b/roles/container/tasks/main.yml @@ -1,12 +1,12 @@ --- -- name: docker network +- name: "{{ docker_service }} docker network" docker_network: name: "{{ docker_service }}" - name: Set published ports variable set_fact: - container_published_ports: ["127.0.0.1:{{ ports[docker_service].http }}:3000"] + container_published_ports: ["127.0.0.1:{{ ports[docker_service].http }}:{{ docker_image_http_port }}"] when: reverse_proxy_type != 'traefik' - name: Include traefik vars @@ -35,10 +35,11 @@ image: "{{ docker_image }}" pull: true container_default_behavior: no_defaults - volumes: "{{ docker_volumes }}" + volumes: "{{ docker_volumes | default(omit) }}" published_ports: "{{ container_published_ports | default(omit) }}" labels: "{{ traefik_labels | default(omit) }}" env: "{{ docker_env }}" + entrypoint: "{{ docker_entrypoint | default(omit) }}" restart_policy: always networks: - name: "{{ docker_service }}" diff --git a/roles/gitea/meta/main.yml b/roles/gitea/meta/main.yml index 85734c4..8a00bda 100644 --- a/roles/gitea/meta/main.yml +++ b/roles/gitea/meta/main.yml @@ -4,6 +4,7 @@ dependencies: - role: container docker_service: gitea docker_image: gitea/gitea:latest + docker_image_http_port: 3000 docker_database: postgres docker_volumes: - gitea_data:/data diff --git a/roles/keycloak/README.md b/roles/keycloak/README.md new file mode 100644 index 0000000..22c78ae --- /dev/null +++ b/roles/keycloak/README.md @@ -0,0 +1 @@ +Installs keycloak in docker diff --git a/roles/keycloak/meta/main.yml b/roles/keycloak/meta/main.yml new file mode 100644 index 0000000..0a696a2 --- /dev/null +++ b/roles/keycloak/meta/main.yml @@ -0,0 +1,22 @@ +--- + +dependencies: + - role: container + docker_service: keycloak + docker_image: quay.io/keycloak/keycloak:latest + docker_image_http_port: 8080 + docker_database: postgres + docker_entrypoint: + - /opt/keycloak/bin/kc.sh + - start + - --auto-build + docker_env: + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: "{{ keycloak_admin_pw }}" + KC_HOSTNAME: "{{ docker_vhost_domains.keycloak[0] }}" + KC_HTTP_ENABLED: "true" + KC_DB: postgres + KC_DB_URL: jdbc:postgresql://keycloak_db/keycloak + KC_DB_USERNAME: keycloak + KC_DB_PASSWORD: "{{ database_passwords.keycloak }}" +