openbazaar-desktop
openbazaar-desktop copied to clipboard
install client and node on different machines
Brief Description:
I planned to give OpenBazaar a try when I have some spare time (hopefully soon, but no definite ETA at the moment), so I'm asking this in preparation to be ready then.
As for selling goods the node should be running permanently, I hoped to install that on a machine different than my desktop – say by dropping the ARM binary of the server on a Raspi, while having the client part on my desktop computer (so I can shut the latter down while leaving the former running). But as much as I looked around and searched, I found no install instructions for that approach.
Did I miss something (then a pointer/link should do) – or if not, could an experienced user give me some advice? No sophisticated stuff needed at this moment, but a simple bullet-point-list style guide would be much appreciated.
Operating System (OS and version):
Debian (derivates) at both machines. Jessie on the Pi, Mint at the desktop.
OpenBazaar version (shown on About OpenBazaar page in menu):
Not yet installed – hence asking for instructions :wink:
Hardware:
- Banana Pi (DualCore with 1G RAM and an SSD disk)
- DualCore AMD machine with 8G RAM as desktop (yeah, not high-end either).
@IzzySoft It's not necessary for the server to be running. v2 of OpenBazaar, which has been out 1.5 years or so already, does not require your server to always be running for your store to be available.
The easiest way to get up and running is to download the bundled binary. It is a desktop application that contains both the server and client bundled together. It should be as easy as downloading the binary, running the installer and then launching the app. At that point you'll go through onboarding which will get your store up. Next you could start creating listings.
One thing to keep in mind, while the server doesn't need to be running all the time, it's best to at least start up the app for a few minutes once a week, since listings of an offline node will only be available for a week unless another user is seeding them.
@rmisio Thanks! So my confusion about "why does it need to be permanently running for that when the search index etc. is distributed" was not that stupid after all 😄
Still I think there's a guide missing for that kind of setup – unless I have another huge gap in my brains:
Say I set up a shop, put up some items, then shut down the computer and leave the house. As I want to be notified if there's a purchase waiting (so I know I have to check my machine to process it), I've set up mail notifications – which should then reach me on my smartphone while "on the road" (or in the garden). How should that part work? My email configuration (incl. mail password) are hopefully not stored outside "my jurisdiction", but only reside in the (server) configuration. And there's the other thing you mentioned: I might forget to start up the desktop part for more than a week. So it'd be nice to have the server part running on an undemanding device as a Pi (which runs on an average of less than 2.5W).
Further, if this kind of setup were irrelevant, you'd probably not have ARM binaries for drop-in installation available for the server part (openbazaar-go) – while there's no such thing for the client part here (openbazaar-desktop), right? 😉
PS: I know the bundle is available for "easy use", and it's a very good thing for the novice (making it easier to get started with OpenBazaar). I appreciate that very much. But 1) I'm not sure if that fits me (for the reasons given) – and 2) I like to understand the things I'm using and the options I have 😃
EDITH: Might just have found something that should do for starters, if not too much has changed since 6/2017: How to Install and Configure New OpenBazaar 2.0 on Linux and Mac OS X uses a Pi for the server and (MacOS or Linux) for the desktop part.
And, a bit newer (2/2018), Installing OpenBazaar Server on Raspberry Pi covers my intended approach on the Pi-side. Though that one confuses me: It uses the ARM binary from the download section, but in addition installs all the GO packages manually. I thought the binary was "self-contained" (as it's the case with e.g. Gitea) – so is that entire GO setup really necessary?
Say I set up a shop, put up some items, then shut down the computer and leave the house. As I want to be notified if there's a purchase waiting (so I know I have to check my machine to process it), I've set up mail notifications – which should then reach me on my smartphone while "on the road" (or in the garden). How should that part work?
No, I don't think you would receive the notifications if the app is not running. I think the idea is you would start-up the app every day or every few days and see if there are any things that require attending to.
My email configuration (incl. mail password) are hopefully not stored outside "my jurisdiction", but only reside in the (server) configuration.
I believe they are stored in the database on the machine the server is running on, so someone would need access to your machine for it to be compromised. And if someone that's unauthorized does have access to your machine, you have problems!
There is also an option to encrypt the database for further security, but I don't believe it's supported in the bundled app, so you'd need to manually run the server.
Further, if this kind of setup were irrelevant, you'd probably not have ARM binaries for drop-in installation available for the server part (openbazaar-go) – while there's no such thing for the client part here (openbazaar-desktop), right?
There are client binaries as well. Yes, running a remote server is a specific use-case we support. While we think the bundled app is significantly easier to use and should probably accommodate 95% of the use-cases out there, for advanced users willing to deal with higher technical hurdles they can run a remote server be it on a PI or on a VPS.
Anyhow, looks like these are the "official" instructions for installing on PI: https://github.com/OpenBazaar/openbazaar-go/blob/master/docs/install-pi3.md
Though that one confuses me: It uses the ARM binary from the download section, but in addition installs all the GO packages manually.
I'm not super familiar with the ins-and-outs of PI's, but it looks like the instructions I linked above also have you pulling and running the source manually, so... perhaps it's not possible to run the binaries on PI? (@placer14 can you confirm?)
@IzzySoft in any case, this is the client repo, if you have question / issues installing the server, you should probably post them in the server repo.
If you have issues installing the client or bundled app, then this repo is the correct repo.
Thanks again, @rmisio! Now that I found some examples to go with (always the same: you search for a week, find nothing, open an issue – and 3 hours later stumble upon what you were searching for all that time), I'll simply try it out. The ARM binary probably runs fine without the other stuff (and that user was just confused) – I'm running Gitea quite fine that way on the Pi.
I even found how to use a user-based (i.e. not system-wide) NPM install for the client (I somehow feel uncomfortable having that system-wide; npm install then should install things in the "local (working) directory" if not run as root, correct? So if I'm in ~/openbazaar, everything should install inside that directory?). Will make notes and report back; so in case of success, I could provide the requested instructions myself and you could add them to the docs if you like.
Yes, sure, if I run into issues with the server-part I'll head over there. But as my question was about both, I had to start somewhere.
There are client binaries as well.
For ARM? I didn't see them. They should be here then, no?
Anyhow, looks like these are the "official" instructions for installing on PI: https://github.com/OpenBazaar/openbazaar-go/blob/master/docs/install-pi3.md
Thanks, I've seen that; but that makes you install the entire Go stack, not using the pre-built binary offered in releases.
Thanks a lot again, you've been very helpful – things got a lot clearer now. I'd suggest keeping this issue open a little longer for me to report back (feel free to ping me if I take too long)? And would you be interested in the instructions if I can come up with any?
@IzzySoft can this issue be closed?
Not yet. Unfortunately, my related issue on the server part isn't solved yet. And without that, I cannot even start with the desktop part…