grist-core: Suddenly unable to access our self-hosted documents
We have self-hosted Grist since its availability on docker. One or two weeks ago, it has become impossible for us to connect to our Grist server; the error is something we had encountered at the very inception of Grist:
Something went wrong
There was an error: cannot find user.
I have changed nothing to the docker-compose.yml file:
version: "3"
services:
grist-kuq:
image: gristlabs/grist
container_name: grist
restart: unless-stopped
volumes:
- /home/stsinc/dkr/gsk/dta:/persist
ports:
- 8484:8484
environment:
- APP_DOC_URL=https://grist.[our-internal-domain, has not changed]
- APP_HOME_URL=https://[our-internal-domain, has not changed]
- DEBUG=0
- GRIST_EXPERIMENTAL_PLUGINS=true
- GRIST_FORWARD_AUTH_LOGOUT_PATH=/signed-out
- GRIST_HIDE_UI_ELEMENTS=helpCenter,billing,templates,multiSite,multiAccounts
- GRIST_HOST=0.0.0.0
- GRIST_ORG_IN_PATH=false
- GRIST_PAGE_TITLE_SUFFIX=_blank
- GRIST_PROXY_AUTH_HEADER=Remote-Email
- GRIST_SANDBOX_FLAVOR=unsandboxed
- GRIST_SESSION_SECRET=[the secret , has not changed]
- GRIST_SINGLE_ORG=docs
- GRIST_SUPPORT_ANON=false
- TYPEORM_DATABASE=[database name, has not changed]
- TYPEORM_HOST=[the URL to the database, has not changed]
- TYPEORM_PASSWORD=[database password, has not changed]
- TYPEORM_PORT=5432
- TYPEORM_TYPE=postgres
- TYPEORM_USERNAME=docker
- TZ=America/New_York
labels:
- "com.centurylinklabs.watchtower.enable=true"
# For SWAG
networks:
default:
name: lsio
external: true
Here is what the container log says during the session:
Welcome to Grist.
In quiet mode, see http://localhost:8484 to use.
For full logs, re-run with DEBUG=1
Setting up database...
Database setup complete.
2023-11-30 11:18:34.847 - info: == Grist version is 1.1.8 (commit unknown)
2023-11-30 11:18:34.850 - debug: skipping incomplete language ar (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.850 - debug: skipping incomplete language cs (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.854 - debug: skipping incomplete language fa (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.858 - debug: skipping incomplete language ja (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.859 - debug: skipping incomplete language nl (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.864 - debug: skipping incomplete language th (set GRIST_OFFER_ALL_LANGUAGES if you want it)
2023-11-30 11:18:34.870 - info: Loading empty config because /persist/config.json missing
2023-11-30 11:18:34.870 - warn: GRIST_PROXY_AUTH_HEADER is deprecated; interpreted as a synonym of GRIST_FORWARD_AUTH_HEADER
2023-11-30 11:18:34.887 - warn: did not find an appropriately named example workspace in deployment
2023-11-30 11:18:34.891 - info: No plugins found in directory: /grist/.grist/plugins
2023-11-30 11:18:34.895 - info: Found 2 valid plugins on the system
2023-11-30 11:18:34.895 - debug: PLUGIN builtIn/core -- /grist/plugins/core
2023-11-30 11:18:34.896 - debug: PLUGIN bundled/grist-bundled -- /grist/node_modules/@gristlabs/grist-widget/dist/plugins/grist-bundled
2023-11-30 11:18:34.899 - info: Server timeouts: keepAliveTimeout 305000 headersTimeout 306000
2023-11-30 11:18:34.901 - info: server(home,docs,static) available at 0.0.0.0:8484
2023-11-30 11:18:34.908 - warn: Failed to create GoogleAuth endpoint: GOOGLE_CLIENT_SECRET is not defined
2023-11-30 11:18:34.912 - info: Server timeouts: keepAliveTimeout 305000 headersTimeout 306000
2023-11-30 11:18:34.912 - info: pluginServer available at 0.0.0.0:45205
2023-11-30 11:18:34.913 - info: == appRoot: /grist
2023-11-30 11:18:34.913 - info: == i18:namespace: client,server
2023-11-30 11:18:34.913 - info: == docsRoot: /persist/docs
2023-11-30 11:18:34.913 - info: == defaultBaseDomain: grist.[our-domain]
2023-11-30 11:18:34.913 - info: == instanceRoot: /persist
2023-11-30 11:18:34.913 - info: == tag: unknown
2023-11-30 11:18:34.914 - info: == database: postgres://[ip of Postgres server]:5432/grist
2023-11-30 11:18:34.914 - info: == userRoot: /grist/.grist
2023-11-30 11:18:34.914 - info: == bundledRoot: /grist/node_modules/@gristlabs/grist-widget/dist
2023-11-30 11:18:34.914 - info: == loginMiddlewareComment: forward-auth
2023-11-30 11:18:34.914 - info: == docWorkerId: testDocWorkerId_8484
2023-11-30 11:18:34.914 - info: == pluginUrl: http://0.0.0.0:45205/
2023-11-30 11:18:34.914 - info: == willServePlugins: true
2023-11-30 11:18:34.914 - info: == grist.access.supportEmail: support@getgrist.com [default] [GRIST_SUPPORT_EMAIL]
2023-11-30 11:18:34.914 - info: == grist.access.listPublicSites: false [default] [GRIST_LIST_PUBLIC_SITES]
2023-11-30 11:18:34.914 - info: == grist.integrations.sql.timeout: 1000 [default] [GRIST_SQL_TIMEOUT_MSEC]
2023-11-30 11:18:34.914 - info: == grist.integrations.allowedWebhookDomains: - [ALLOWED_WEBHOOK_DOMAINS]
2023-11-30 11:18:34.914 - info: == grist.integrations.proxy: - [GRIST_HTTPS_PROXY]
2023-11-30 11:18:34.914 - info: == grist.locale.offerAllLanguages: - [GRIST_OFFER_ALL_LANGUAGES]
2023-11-30 11:18:34.914 - info: == grist.login.system.forwardAuth.header: Remote-Email [GRIST_PROXY_AUTH_HEADER]
2023-11-30 11:18:34.914 - info: == grist.login.system.forwardAuth.active: true
2023-11-30 11:18:34.914 - info: == grist.login.system.forwardAuth.logoutPath: /signed-out [GRIST_FORWARD_AUTH_LOGOUT_PATH]
2023-11-30 11:18:34.914 - info: == grist.login.system.forwardAuth.loginPath: /auth/login [default] [GRIST_FORWARD_AUTH_LOGIN_PATH]
2023-11-30 11:18:34.914 - info: == grist.login.skipSession: - [GRIST_IGNORE_SESSION]
2023-11-30 11:18:34.914 - info: == grist.login.forced: - [GRIST_FORCE_LOGIN]
2023-11-30 11:18:34.914 - info: == grist.externalStorage.minio.bucket: - [GRIST_DOCS_MINIO_BUCKET]
2023-11-30 11:18:34.914 - info: == grist.externalStorage.disable: - [GRIST_DISABLE_S3]
2023-11-30 11:18:34.914 - info: == grist.externalStorage.active: false
2023-11-30 11:18:34.915 - info: activity docCount=15, orgCount=1, orgInGoodStandingCount=1, userCount=6, userWithLoginCount=6
2023-11-30 11:19:26.739 - debug: Auth[GET]: grist.[our-domain] / customHostSession=, method=GET, host=grist.[our-domain], path=/, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:26.861 - debug: Auth[GET]: grist.[our-domain] / customHostSession=, method=GET, host=grist.[our-domain], path=/, org=docs, email=anon@getgrist.com, userId=1, altSessionId=wxcyoLWymz7fKJ8hnVricQ
2023-11-30 11:19:26.873 - debug: Auth[GET]: grist.[our-domain] /session/access/active customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:26.877 - debug: Auth[GET]: grist.[our-domain] /session/access/all customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:26.929 - debug: Auth[GET]: grist.[our-domain] /orgs/0/workspaces customHostSession=, method=GET, host=grist.[our-domain], path=/orgs/0/workspaces, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:31.016 - debug: Auth[GET]: grist.[our-domain] /session/access/all customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:31.028 - debug: Auth[GET]: grist.[our-domain] /session/access/active customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:32.973 - debug: Auth[GET]: grist.[our-domain] / customHostSession=, method=GET, host=grist.[our-domain], path=/, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:33.050 - debug: Auth[GET]: grist.[our-domain] /session/access/all customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:33.052 - debug: Auth[GET]: grist.[our-domain] /session/access/active customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:19:33.088 - debug: Auth[GET]: grist.[our-domain] /orgs/0/workspaces customHostSession=, method=GET, host=grist.[our-domain], path=/orgs/0/workspaces, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:42.445 - debug: Auth[GET]: grist.[our-domain] /welcome/home customHostSession=, method=GET, host=grist.[our-domain], path=/welcome/home, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:42.466 - debug: Auth[GET]: grist.[our-domain] / customHostSession=, method=GET, host=grist.[our-domain], path=/, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:42.566 - debug: Auth[GET]: grist.[our-domain] /session/access/all customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:42.569 - debug: Auth[GET]: grist.[our-domain] /session/access/active customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:42.614 - debug: Auth[GET]: grist.[our-domain] /orgs/0/workspaces customHostSession=, method=GET, host=grist.[our-domain], path=/orgs/0/workspaces, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:57.164 - debug: Auth[GET]: grist.[our-domain] /session/access/all customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
2023-11-30 11:20:57.173 - debug: Auth[GET]: grist.[our-domain] /session/access/active customHostSession=, method=GET, host=grist.[our-domain], path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=[session ID]
What have I done wrong or is it a regression?
About this issue
- Original URL
- State: open
- Created 7 months ago
- Comments: 17 (7 by maintainers)
And currently we all enter Grist without authentication at all. For some reason we do NOT have to enter our credentials and yet we are brought directly to our own private documents
I have spoken too fast… With version
1.1.6I see all documents in the dashboard but when I click on each of their tiles, I get this error:And the recovery mode loops to no avail. Then I arrive again on an empty dashboard…
Now being really worried.
But unfortunately, having added the instruction to the
docker-compose.ymlfile, re-loaded it, and cleaned the browser cache, I still get the same error…@paulfitz , you’re great, as always!