{
    "slug":  "keycloak",
    "name":  "Keycloak",
    "description":  "Identity and access management with OAuth2, OIDC, and SAML.",
    "category":  "Security",
    "image":  "quay.io/keycloak/keycloak:latest",
    "logo":  "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/keycloak.png",
    "website":  "https://www.keycloak.org",
    "docsUrl":  "https://www.keycloak.org/documentation",
    "ports":  [
                  {
                      "host":  8088,
                      "container":  8080,
                      "protocol":  "tcp"
                  }
              ],
    "volumes":  [

                ],
    "envVars":  [
                    {
                        "key":  "TZ",
                        "default":  "Etc/UTC",
                        "description":  "Timezone"
                    },
                    {
                        "key":  "KEYCLOAK_ADMIN",
                        "default":  "admin",
                        "description":  "Admin username"
                    },
                    {
                        "key":  "KEYCLOAK_ADMIN_PASSWORD",
                        "default":  "change-me",
                        "description":  "Admin password",
                        "secret":  true
                    },
                    {
                        "key":  "POSTGRES_PASSWORD",
                        "default":  "change-me",
                        "description":  "PostgreSQL password",
                        "secret":  true
                    }
                ],
    "minMemory":  "2GB",
    "version":  "latest",
    "composeOverride":  "# Generated by McHarbor App Store\nservices:\n  {{serviceName}}:\n    image: {{image}}\n    container_name: {{containerName}}\n    restart: unless-stopped\n{{ports}}\n    command: start-dev\n    environment:\n      KC_DB: postgres\n      KC_DB_URL_HOST: {{serviceName}}-db\n      KC_DB_URL_DATABASE: keycloak\n      KC_DB_USERNAME: keycloak\n      KC_DB_PASSWORD: {{env.POSTGRES_PASSWORD}}\n      KEYCLOAK_ADMIN: {{env.KEYCLOAK_ADMIN}}\n      KEYCLOAK_ADMIN_PASSWORD: {{env.KEYCLOAK_ADMIN_PASSWORD}}\n      TZ: {{env.TZ}}\n    depends_on:\n      - {{serviceName}}-db\n  {{serviceName}}-db:\n    image: postgres:16-alpine\n    container_name: {{serviceName}}-db\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: keycloak\n      POSTGRES_PASSWORD: {{env.POSTGRES_PASSWORD}}\n      POSTGRES_DB: keycloak\n    volumes:\n      - {{appDataPath}}/postgres:/var/lib/postgresql/data\n"
}
