[Feature Request] Support for Concurrent Multi-Machine Use with a Shared Database
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:
-
Central Server: A Raspberry Pi on my local network (and on Tailscale) hosts the master
db.sqlitefile. The file is shared using a standard Samba network share. - Clients: My Windows desktop and Windows laptop both connect to this Samba share.
-
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:
- I can have Vibe-Kanban open and running on my desktop and my laptop simultaneously.
- I can work on Project A on my desktop.
- I can simultaneously view or work on Project B on my laptop.
- 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!
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.
They need to add other DB options. SQLite is fine, but PGSQL would be a much better choice for perf.