Unable to login to webhookie server running on linux cloud and local machine
-
I am unable to login to the webhookie instance. The login button has a red icon beside it. The "Get Started" and "Register for Free" buttons are greyed out.
-
Hi @datastax,
Could you please share the /manage/health response.
That red icon beside the login button means backend is not ready yet. it could be the keycloak being slow at startup.Thanks,
Arthur -
i typed in /manage/health and it went to /home
the server is here: http://23.23.236.215:4300/
-
@datastax Is there any proxy? seems that you haven't forwarded port 8080
-
No proxy setup. I just followed the instructions on this page: https://webhookie.com/docs/getting-started
-
@datastax where is your server running? could you please try on your localhost ?
-
It's running on AWS - Ubuntu 20.04. Docker and docker compose installed on the instance.
Also, I have tried running the instance on Apple Mac M1 following the instructions on this page: https://webhookie.com/docs/install-webhookie-mongodb-keycloak. I took note of this extra detail below:
If you are using one of these systems please replace the keycloak image inside the docker compose file with wizzn/keycloak:14 (instead of: quay.io/keycloak/keycloak:14.0.0)
-
if you're running on AWS, please make sure you open the ports in your vpc security, the following tcp ports need to be allowed:
4300, 8080, 8000, 8800, 9900if you're running on a M1 MBP, as you mentioned you need to change the keycloak image and should be all good and you can access webhookie by http://localhost:4300
Please let me know
-
@arthur I did open the incoming port - custom port 4300 for IPv4 and IPv6
-
@datastax I'll open the other ports on AWS and see if it works.
By the way, this my local host: https://smart-wombat-12.loca.lt/
-
@datasta Did you try http://localhost:4300 ?
I just run a new instance on my M1 Mac and it did work.
-
@arthur I'll give it another shot
-
@datastax I'm not sure how does this setup work and I guess there are still some missing port forwards in this setup too
-
@datastax I meant this setup: https://smart-wombat-12.loca.lt/
-
@datastax How did you go ?
-
@arthur could you pls share your yaml file, so i can reproduce the config. docker-compose.yml
-
@datastax I followed the instructions in the website and changed the keycloak image name
here is my docker-compose.yml content:
version: '3.9' volumes: mongodb_data: networks: webhookie: services: mongodb: image: mongo:4 volumes: - 'mongodb_data:/data/db' container_name: webhookie-db ports: - "27017:27017" networks: webhookie: keycloak: image: wizzn/keycloak:14 volumes: - ./realm-export.json:/var/data/webhookie/realm.json - ./kc-add-user.json:/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json container_name: webhookie-keycloack environment: - KEYCLOAK_IMPORT=/var/data/webhookie/realm.json ports: - "9900:9990" - "8800:8080" networks: webhookie: webhookie: container_name: webhookie-server image: hookiesolutions/webhookie:1 environment: - WH_IAM_ISSUER_URI=http://localhost:8800/auth/realms/webhookie - WH_IAM_JWK_SET_URI=http://keycloak:8080/auth/realms/webhookie/protocol/openid-connect/certs - WH_IAM_JWS_ALG=RS256 - WH_SECURITY_AUD=webhookie_client - WH_SECURITY_CLIENT_ID=webhookie_client - WH_SECURITY_ROLES_JSON_PATH=$$.resource_access.webhookie_client.roles - WH_SECURITY_GROUPS_JSON_PATH=$$.groups - WH_SECURITY_ENTITY_JSON_PATH=$$.entity - WH_SECURITY_AUTO_ASSIGN_CONSUMER_ROLE=true - WH_SECURITY_OAUTH2_AUTHORIZATION_URI=/protocol/openid-connect/auth - WH_SECURITY_OAUTH2_TOKEN_URI=/protocol/openid-connect/token - WH_MONGODB_URI=mongodb://mongodb/webhookie-db?retryWrites=true&w=majority&maxPoolSize=200 - WEBHOOKIE_SECURITY_ALLOWED-ORIGINS=http://localhost:4300 ports: - "4300:80" - "8000:8080" networks: webhookie: depends_on: - mongodb
-
@datastax I'm available for a google meet and screen share if you like.
-
@arthur pls let's do that.
-
@datastax I see where is the problem:
keycloak is not running on your AWS instance. it could be that you've changed the images name in your AWS setup to use the arm version of the image which doesn't work in AWS.
make sure that you don't change the compose file if running in AWS
here is the halth endpoint response
curl http://23.23.236.215:4300/api/manage/health | jq .
{ "status": "DOWN", "components": { "IAM": { "status": "DOWN", "details": { "error": "IdP service is either starting up or not available" } }, "diskSpace": { "status": "UP", "details": { "total": 31158845440, "free": 25791029248, "threshold": 10485760, "exists": true } }, "migration": { "status": "UP" }, "mongo": { "status": "UP", "details": { "version": "4.4.12" } }, "ping": { "status": "UP" }, "webhookie": { "status": "UP", "details": { "parser": { "url": "http://localhost:3000" }, "consumer": { "queue": "wh-consumer.event", "addDefaultGroup": true, "missingHeader": { "exchange": "wh-consumer", "routingKey": "wh-missing-header" } }, "security": { "audience": "webhookie_client", "clientId": "webhookie_client", "roles": { "jwkJsonPath": "$.resource_access.webhookie_client.roles", "autoAssignConsumer": true, "roleMapping": {} }, "groups": { "jwkJsonPath": "$.groups" }, "entity": { "jwkJsonPath": "$.entity" }, "oauth2": { "authorizationUri": "/protocol/openid-connect/auth", "tokenUri": "/protocol/openid-connect/token", "tokenName": "access_token" }, "noAuth": { "pathMatchers": { "OPTIONS": [ "/**" ], "GET": [ "/manage/health/**", "/swagger-ui.html**", "/v3/**", "/webjars/swagger-ui/**", "/public/**" ] } }, "allowedOrigins": [ "http://localhost:4300" ] }, "subscription": { "retry": { "maxRetry": 3, "initialInterval": 10, "multiplier": 2 } } } } } }