Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Documentation on how to use buku in docker-compose with multi-device-setup. #725

Open
Haui1112 opened this issue Mar 24, 2024 · 1 comment

Comments

@Haui1112
Copy link

First of all, thank you for making this awesome tool. I have installed both the docker compose and the apt version (one on my home server and one on my laptop, I do have a desktop which I would like to use with this as well).

So far I have used the Firefox auto import. Works very well. But since I dont want to save the sftp login to my server on my laptop, I would need to go over web. The firefox extension which I tried to install (bukobrow) doesnt work. I dont even know if thats an official one.

Since I'm not familiar with the api, how would I sync the devices I have? Example: Laptop server desktop (this way I have two devices plus the backup and can provision a new device with the bookmarks as needed.

Thanks for reading. Have a good one.

@LeXofLeviafan
Copy link
Collaborator

Bukubrow is not an official buku extension AFAIK, and it doesn't seem to be actively supported nowadays (I've created 2 pull requests a year ago to fix some discrepancies from Buku, but the repo owner has never even reacted to them 😅)

As for it not working – for it to actually be able to access your Buku data, you need to "install" a host program first; it needs to be registered as a browser plugin (i.e. run it manually from its permanent location with one of the --install-* arguments, to create a JSON file containing a path to itself in the settings of your browser).

Note that while it's convenient in a way, actually using it requires the Buku data to be accessible locally (i.e. to be present in your filesystem); so the extension itself won't give you any advantages for the usecase of "accessing your bookmarks remotely".


Buku stores its bookmarks in a buku/bookmarks.db file within user settings (e.g. ~/.local/share/buku/bookmarks.db on Linux). There are ways to access your DB remotely, but all of them have downsides:

  • When using Linux, it's possible to mount a remote folder into your filesystem, (if you have direct SSH access to the machine you're running your main Buku instance on – I've had to get a static IP and set up port forwarding + DDNS to access my home server remotely from my workplace, for instance).
  • If the machines are on the same local network (e.g. connected to the same WiFi access point) and have stable local IPs, you can run buku in webserver mode (accessing it from the same machine as http://localhost:5000, and from other machines as something similar to http://192.168.0.1:5000/ – depending on the actual local network IP of that machine). Note that this mode has no builtin authorization, so if you want to make it accessible from outside your local network you'll need to route it through a web-server with some authorization support at the very least (e.g. Nginx) – and unless it's routed as /, this will also require providing the route path as "reverse proxy" to bukuserver.
  • Finally, you can share the Buku database between your machines using a file storage service (e.g. Google Drive or Dropbox) – some of them even allow mounting a remote drive as a folder in your filesystem. If you do that, however, you may want to encrypt the bookmarks first (buku --lock) if you want to keep them private properly. (And of course you'd have to upload/download the file every time it's been changed, one way or another.)

I've considered the possibility of implementing support for the latter into Buku itself, but I don't give any guarantees as to if or when it will actually be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants