Best local-only setup?

Putting out a call for help on the best way to run Grist as a local only single user setup.

Docker seems excessive for my use case, and I don’t understand it well enough to know what I’m doing.

The electron app seems somewhat broken, particularly having issues with importing templates and external files. (But I want to emphasize how awesome it was to be able to play around with the app - two thumbs up for having it as an option!)

I see some references in the github repo to pyodide, is there a functional pyscript version that would work as a local only setup? It seems like it could be a great use case.

Anyway, here’s my requirements, any help or thoughts would be appreciated.

  • Single user (just me, on windows computers that I own)
  • must be able to access the grist db from outside of the grist environment (could be via api, but ideally would just be stored somewhere on my local directory)
  • some sort of backup functionality (either keep the grist db in gdrive/onedrive, or automatically save snapshots of the db to an external location at regular intervals)

This software seems like it could be a game changer for me, I’m just looking for some help getting my metaphorical training wheels going. Thanks in advance!

If it’s only you, is it so necessary to have a local installation instead of using the free online version? The limit is 5000 records per document, but for you alone… how fast will you fill that limit?

Easest as possible Packaging Grist as an Electron app - #33 by paul-grist

Already well past filled if I were to import the underlying data that I’ll be working with, unfortunately. Should have made that more clear in the original request, but sadly that’s a no-go.

Yes, and as I wrote in my post, the electron app is not a viable solution at the moment. It still has issues that make it unworkable.

Any other thoughts?

(And just to reiterate, I do think that the electron app is an awesome idea! And I do hope it receives more development for users like myself who are at the bottom end of the technical skills ladder.)

Sorry that import on Windows is wonky @Andrew, someone else reported that recently:

and I’ll be looking it when I can - I know that doesn’t help you now :slight_smile: . One thing though, if importing a .grist file, the error on Windows happens on clean-up, meaning that the import may have actually gone through - have you tried reloading the app to see if the import is listed?

I am also at the bottom of the technical ladder, and considering I don´t even know what is an Electron App (I suppose it’s the anti-app of the Positron?) I guess I am at a hole below the technical ladder.

2 Likes

Just feedback, I’m using electron app on windows without any issue since 6 months.
I saved a lot of .grist file without any issue re-importing them while upgrading grist.
It is True that I may have gone through a king of freezer but reloading was ok for me.
Also note the .env enabling different configs for saving defaults area and so on.

Give it a trial, I’ve made my choice.

1 Like

I think docker desktop is the easiest solution on windows.

You must install docker desktop first,
then you can start grist with, for example:


docker run -p 8484:8484 -v ~/grist:/persist -e GRIST_SESSION_SECRET=invent-a-secret-here -e APP_HOME_URL="http://127.0.0.1:8484" -it gristlabs/grist

I’ve put this into a bat file and auto started it.

Then you can access the local grist installation in your browser via:
http://127.0.0.1:8484

When having docker it is True.
But sometimes with low infrastructure support from IT subcontractor this may lead to authorization issue + maintenance problems because they may don’t know/master docker.
In those case grist.exe simplifies the process.

1 Like

This Electron App stuff allows to install it on a server to be used by multiple computers?

Yes no, I have installed it on local webser of my company and users are able to connect update and so on provided URL, port are reachable.

Do not forget you will have no rules to restrict access or protect in read-only your data. This is the main bad point.

There’s enough warnings in the “how to” section that the docker method makes me nervous. Especially when I’m not knowledgeable about how docker works.

If going with the docker method, how can you choose where the .grist database is located? And would there be any issue with locating the database in a synced onedrive folder?

If using Grist-Electron, is it possible to still use the API?

Actually, since the DB is saved on my local drive, would it be possible to interface with the .grist DB externally through something like SQLAlchemy?

Rest api is ok for me with grist-électron.
Location of the rest database->have a look at the .env conf (similar to args passed to docker). I do not reminder but you can pass all GLOBAL_VARIABLE in the .env file including one for the .grist file location (on my mobile at this moment so difficult to give you full answer)

Yet regarding interfacing with sqlalchemy I never tried.

Hmm, I’m not seeing a .env conf file anywhere in the grist-electron folder. There’s a “Preferences” file, but it just has information on what spellcheck to use. I’m running on Windows, is there a comparable file I should be looking for instead?

In your root file of electron-grist (the one containing grist.exe), add a .env

In the end of GitHub - gristlabs/grist-core: Grist is the evolution of spreadsheets. readme file you will find the environnement variable to custmize your self-managede grist, including GRIST_DATA_DIR to set you folder to save .grist files.

1 Like

Ah, gotcha. Thank you. Would you be able to to provide a brief example of how you query and add data via api to your grist-electron database? I’m a bit confused about how this should work since I’m not using the api through the “getgrist” url listed in all the api related documentation.

Aha! Figured out the Grist-Electron API connection. For anyone else who is confused with getting the connection working:

  1. The “Server” is localhost. The port can be found by accessing developer tools under the “view” menu. Under “Application->Storage” you can see what port on localhost the electron app is using. You’ll be left with a “URL” something like this: http://localhost:XXXXX

  2. Keys. There’s two keys! Kinda. Regardless, this one tripped me up. The GRIST_API_KEY can be found by going to the “user” that the electron app gives you, and under the user settings you can generate yourself an API key. Then, go to document settings for the document you’re working on and you’ll find the “DOC_ID”.

That should be enough to get you up and running if anyone else is stuck at the very beginning.

Never followed up on this one, but for anyone else who has an issue with imports in the electron app - my files were actually being imported all along, and I was welcomed with 10+ files when I closed and reopened the app.

Definitely worth a try if anyone is having import issues!

1 Like