Getting started is too difficult

It’s been painful to get started with Squidex to be honest.

Right now I just want to be able to launch the solution and login. This has not been easy.

I got to run the docker-compose locally using this docker approach:
https://github.com/Squidex/squidex-docs/blob/master/01-getting-started/installation/install-docker.md

However I just want squidex and mongodb, so I am using this docker-compose file:
https://github.com/Squidex/squidex-docker/blob/master/standalone/docker-compose-noproxy.yml

This is my .env file:

SQUIDEX_PROTOCOL=http
SQUIDEX_FORCE_HTTPS=False
SQUIDEX_DOMAIN=localhost
SQUIDEX_ADMINEMAIL=admin@squidex.io
SQUIDEX_ADMINPASSWORD=P@ssw0rd
SQUIDEX_GITHUBCLIENT=
SQUIDEX_GITHUBSECRET=
SQUIDEX_GOOGLECLIENT=
SQUIDEX_GOOGLESECRET=
SQUIDEX_MICROSOFTCLIENT=
SQUIDEX_MICROSOFTSECRET=

The docker compose launches well, then when I try to login, it fails. What I get in the logs is this:

squidex_mongo_1    | 2019-10-09T22:40:54.149+0000 I  NETWORK  [listener] connection accepted from 172.18.0.2:45527 #8 (8 connections now open)
squidex_mongo_1    | 2019-10-09T22:40:54.150+0000 I  NETWORK  [conn8] received client metadata from 172.18.0.2:45527 conn8: { driver: { name: "mongo-csharp-driver", version: "2.9.1.0" }, os: { type: "Linux", name: "Linux 4.9.184-linuxkit #1 SMP Tue Jul 2
 22:58:16 UTC 2019", architecture: "x86_64", version: "4.9.184-linuxkit" }, platform: ".NET Core 4.6.27110.04" }
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 98,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "f48d8e5c-6990-4b4f-ac49-f79eb2ccba2c",
squidex_squidex_1  |     "requestPath": "/build/index.html",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:54Z"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 44,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "65a3504c-905d-40fe-8b0b-1e1a1780b4bd",
squidex_squidex_1  |     "requestPath": "/favicon.ico",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:55Z"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "message": "Invoking IdentityServer endpoint: IdentityServer4.Endpoints.DiscoveryEndpoint for /.well-known/openid-configuration",
squidex_squidex_1  |   "endpointType": "IdentityServer4.Endpoints.DiscoveryEndpoint",
squidex_squidex_1  |   "url": "/.well-known/openid-configuration",
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "de6066a4-1f6d-4cc0-81e1-37e16e9b387f",
squidex_squidex_1  |     "requestPath": "/.well-known/openid-configuration",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:58Z",
squidex_squidex_1  |   "category": "IdentityServer4.Hosting.IdentityServerMiddleware"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 316,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "de6066a4-1f6d-4cc0-81e1-37e16e9b387f",
squidex_squidex_1  |     "requestPath": "/identity-server/.well-known/openid-configuration",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:58Z"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "message": "Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize",
squidex_squidex_1  |   "endpointType": "IdentityServer4.Endpoints.AuthorizeEndpoint",
squidex_squidex_1  |   "url": "/connect/authorize",
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "2f5fa3a7-c45e-4db0-b227-e61e72acd498",
squidex_squidex_1  |     "requestPath": "/connect/authorize",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:58Z",
squidex_squidex_1  |   "category": "IdentityServer4.Hosting.IdentityServerMiddleware"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "message": "Showing login: User is not authenticated",
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "2f5fa3a7-c45e-4db0-b227-e61e72acd498",
squidex_squidex_1  |     "requestPath": "/connect/authorize",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:58Z",
squidex_squidex_1  |   "category": "IdentityServer4.ResponseHandling.AuthorizeInteractionResponseGenerator"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 259,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "2f5fa3a7-c45e-4db0-b227-e61e72acd498",
squidex_squidex_1  |     "requestPath": "/identity-server/connect/authorize",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:58Z"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "profiler": {
squidex_squidex_1  |     "ExecuteAction": {
squidex_squidex_1  |       "elapsedMsTotal": 54,
squidex_squidex_1  |       "elapsedMsAvg": 54,
squidex_squidex_1  |       "count": 1
squidex_squidex_1  |     },
squidex_squidex_1  |     "ExecuteResult": {
squidex_squidex_1  |       "elapsedMsTotal": 521,
squidex_squidex_1  |       "elapsedMsAvg": 521,
squidex_squidex_1  |       "count": 1
squidex_squidex_1  |     }
squidex_squidex_1  |   },
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 1327,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "c2ce10ce-ed40-4ca9-80de-58149bbb9a30",
squidex_squidex_1  |     "requestPath": "/identity-server/Account/Login",
squidex_squidex_1  |     "requestMethod": "GET"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:40:59Z"
squidex_squidex_1  | }
squidex_squidex_1  |
squidex_squidex_1  | {
squidex_squidex_1  |   "logLevel": "Information",
squidex_squidex_1  |   "profiler": {
squidex_squidex_1  |     "ExecuteAction": {
squidex_squidex_1  |       "elapsedMsTotal": 47,
squidex_squidex_1  |       "elapsedMsAvg": 47,
squidex_squidex_1  |       "count": 1
squidex_squidex_1  |     },
squidex_squidex_1  |     "ExecuteResult": {
squidex_squidex_1  |       "elapsedMsTotal": 16,
squidex_squidex_1  |       "elapsedMsAvg": 16,
squidex_squidex_1  |       "count": 1
squidex_squidex_1  |     }
squidex_squidex_1  |   },
squidex_squidex_1  |   "filters": {
squidex_squidex_1  |     "costs": 0.0
squidex_squidex_1  |   },
squidex_squidex_1  |   "elapsedRequestMs": 272,
squidex_squidex_1  |   "app": {
squidex_squidex_1  |     "name": "Squidex",
squidex_squidex_1  |     "version": "3.4.0.0",
squidex_squidex_1  |     "sessionId": "dd9cd8ad-693a-478e-999f-e33a471242c1"
squidex_squidex_1  |   },
squidex_squidex_1  |   "web": {
squidex_squidex_1  |     "requestId": "279cf071-bd92-49ca-a3bc-239834ef2bfc",
squidex_squidex_1  |     "requestPath": "/identity-server/account/login",
squidex_squidex_1  |     "requestMethod": "POST"
squidex_squidex_1  |   },
squidex_squidex_1  |   "timestamp": "2019-10-09T22:41:15Z"
squidex_squidex_1  | }
squidex_squidex_1  |

Not sure of what is happening, but it is frustrating. It doesn’t work.
I really appreciate any help on this.

Hi, I understand your frustration.

If you send me the full logs it would be helpful. It is very likely that the user has never been created, because the password is not secure. It fulfills a lot of formal requirements like numbers and special characters but has been seen in > 50.000 times in data breaches. See https://haveibeenpwned.com/Passwords

There were no errors from the console dump I was able to get. I got pissed and simply gave up standing up the solution from the container, and went straight to the code base solution with the latest release 3.4.0.

Interestingly is that I faced the same problem :expressionless: , however when I used my Microsoft account I was able to login, and then I set myself within the admin role, and then I was able to reset the Admin password. :expressionless:, (the Admin account was already in there) and then further logins with the Admin worked! :slight_smile:

My suggestion is be clearer about the Admin user and password requirements, because there is something going on.

Looking at the troubleshooting page, I can confirm that I checked that:
https://github.com/Squidex/squidex-docs/blob/master/01-getting-started/installation/configuration.md

I used https://passwordsgenerator.net/ for the password, and Squidex wasn’t able to pick that up. There were no errors raised from the Console either.

If there are other ways to obtain a full verbose Logging, that would be good for future troubleshootings.

In general you can get the full logs with docker logs <CONTAINER-ID>. And in 99% the cases there is something useful there when it is about authentication.

The logs are not that easy to read with all the json metadata, but the main goal of the logs is that they should be easy to process with automated tools like APM solutions or ELK stack and so on.

For username and password I could potentially also create a setup page. But there are almost no other things I could put in there due to the nature of docker. Therefore I have not done it yet.

Thanks for the reply @Sebastian . Hope this thread helps people in the future.

1 Like

Just wondered if you would release the Kubernetes Helm charts for deploying Squidex in a cluster as another area on the Squidex installation documentation?

Yes, why not:

Right now I work on the documentation everday: https://squidex.io/post/lets-improve-documentation

(Have to post the update for yesterday).