grist-core icon indicating copy to clipboard operation
grist-core copied to clipboard

Access from outside localhost?

Open tmikaeld opened this issue 4 years ago • 8 comments

Since I'm on proxmox environment I couldn't get the docker variant working, but I got the manual build working fine.

However, how can I access it from outside of localhost? Is there a command to listen on all devices when starting the server?

tmikaeld avatar Aug 09 '21 05:08 tmikaeld

To listen on all devices, you can do:

GRIST_HOST=0.0.0.0 yarn start

That isn't quite enough though. Currently you need to tell Grist what IP address or hostname it will be accessed from. For example, on my local network, my laptop is at IP address 192.168.1.155, and to make Grist accessible to my phone etc I can do:

DEBUG=1 \
GRIST_SINGLE_ORG=docs \
APP_DOC_URL=http://192.168.1.155:8484  \
APP_HOME_URL=http://192.168.1.155:8484  \
GRIST_HOST=0.0.0.0 yarn start
  • The DEBUG is optional, it just tells Grist to print more information (helpful if things aren't working right).
  • GRIST_SINGLE_ORG=docs tells Grist to drop support for multiple "team sites" which could introduce some subdomain complications.
  • APP_DOC_URL and APP_HOME_URL tell Grist the urls the user will see for accessing documents and the main site. This could be simplified for self-hosting. These options are here since we host Grist behind a load balancer with domains and protocol information getting remapped.
  • GRIST_HOST is the ip address for the server to listen to.

We plan to simplify configuration for self-hosting, all the wrinkles created by multiple servers and multiple team sites aren't really relevant there. Would be interested to here how it goes for you @tmikaeld

paulfitz avatar Aug 09 '21 12:08 paulfitz

Hello Paul!

Thanks for the quick reply, it's very appreciated.

I got it working just fine! However, I noticed that it's single-user at the moment, we'd need at least multiple users for it to be usable in our team. Any plans on adding that?

tmikaeld avatar Aug 09 '21 13:08 tmikaeld

Glad that worked @tmikaeld. Yes, documenting how to support multiple users is on our roadmap https://github.com/gristlabs/grist-core/projects/1#card-64937259. In our hosted service, we use a separate auth provider. We have SAML support we could polish up and release, would that be helpful? Placing Grist behind vouch-proxy https://github.com/vouch/vouch-proxy could also work well. Is there a particular login provider that your team works with?

paulfitz avatar Aug 09 '21 13:08 paulfitz

We use Cloudflare Access @paulfitz, what auth provider do you use?

tmikaeld avatar Aug 09 '21 13:08 tmikaeld

I noticed that I can add users, but they cannot login, so I guess this is the auth layer missing.

tmikaeld avatar Aug 09 '21 13:08 tmikaeld

We use Amazon Cognito. Hmm looking at the diagram on https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/saas-apps it looks like SAML would do the job. I'll look at expediting getting that documented and released.

paulfitz avatar Aug 09 '21 14:08 paulfitz

SAML support was released in 0.7.3. I tested it against Auth0 and it worked fine. https://github.com/gristlabs/grist-core/blob/c561dad22d6f51fc21f678a37d1f6aaa72724531/app/server/lib/SamlConfig.ts#L36

paulfitz avatar Aug 19 '21 01:08 paulfitz

Works fine with docker-compose from Portainer

asitemade4u avatar Nov 20 '21 16:11 asitemade4u