vibe-kanban icon indicating copy to clipboard operation
vibe-kanban copied to clipboard

[Feature Request] Support for Concurrent Multi-Machine Use with a Shared Database

Open artinflight opened this issue 6 months ago • 2 comments

Is your feature request related to a problem? Please describe. Yes. I've successfully configured Vibe-Kanban to use a single, centralized database across my two primary workstations (a desktop PC and a laptop). However, due to the application's current design, I can only run one instance at a time to avoid corrupting the shared db.sqlite file. This prevents a truly seamless multi-machine workflow where I could, for example, manage one project on my PC while referencing another on my laptop.


Describe your current setup for context:

I have a setup designed for a unified workspace that is accessible both locally and remotely:

  1. Central Server: A Raspberry Pi on my local network (and on Tailscale) hosts the master db.sqlite file. The file is shared using a standard Samba network share.
  2. Clients: My Windows desktop and Windows laptop both connect to this Samba share.
  3. Synchronization Method: On each Windows machine, I use a symbolic link (mklink) to redirect the application's local data folder (%APPDATA%\bloop\vibe-kanban\data\db.sqlite) to the database file on the network share.

This setup works perfectly for accessing the same data from either machine, but only if the application is running on one machine at a time. The moment I launch it on the second machine, I risk database corruption due to simultaneous write attempts to the single SQLite file.


Describe the solution you'd like

I would like to request a feature that allows for safe, concurrent use of the application from multiple machines pointing to the same database file.

This would likely require a more robust database access model than the current single-writer approach. Potential solutions could include:

  • Implementing a Network-Aware File Lock: A mechanism that can detect if the database is already in use by another instance on the network and perhaps put the second instance in a read-only mode or queue write operations.
  • Short-Lived Transactions: Ensuring that database connections are opened, written to, and closed very quickly for each operation, minimizing the time the file is locked and reducing the chance of a collision.
  • Client-Server Model (Long-term goal): A more advanced solution would be to have a small server component that manages database connections, with the desktop applications acting as clients.

Describe the desired user experience

The ideal workflow would be:

  1. I can have Vibe-Kanban open and running on my desktop and my laptop simultaneously.
  2. I can work on Project A on my desktop.
  3. I can simultaneously view or work on Project B on my laptop.
  4. Changes made on either machine are safely written to the central database without conflicting with the other open instance and without risking data corruption.

This would elevate Vibe-Kanban from a powerful personal tool to a truly flexible multi-machine productivity solution. Thank you for considering this feature!

artinflight avatar Aug 27 '25 14:08 artinflight

If you have a workstation that contains all your repos, you can run Vibe-Kanban directly on that machine and access it through SSH from your other devices. For editing repos, use an editor with SSH support — for example, VS Code with the Remote-SSH extension. You can also synchronize your repos through Git over SSH, and if needed, add a simple VS Code code shim on the server so opening a repo from Vibe-Kanban triggers it to open in your local editor.

abcpro1 avatar Aug 27 '25 15:08 abcpro1

They need to add other DB options. SQLite is fine, but PGSQL would be a much better choice for perf.

solitaryurt avatar Jan 02 '26 00:01 solitaryurt