yjs too! the trick that worked for me was just not round-tripping yjs -> json -> db on every update, canvas state lives in leveldb as raw binary (y-leveldb), the relational db is only used to seed it when the doc is empty. after that leveldb takes over. y-indexeddb on the client for offline, works pretty well actually
on your second question yeah same struggle lol. connections are loose by default, to keep it manageable folders have a single-parent rule, no reverse refs, collapsing hides the whole subtree. frames are there too but purely visual. for kanban task relationships i just moved them out of the canvas entirely and stored them in the yjs content object, otherwise the graph gets unreadable fast
auto clustering and edge bundling are still missing tbh, when the graph grows it gets messy and right now the answer is just "use folders and frames", not super satisfying
the freeform vs structure thing is something i keep going back and forth on, leaning toward soft constraints that nudge rather than block. curious what you're doing on that front!
Heyy @jjlinux@lemmy.zip ! just remembered your comment, I released v0.7 like a week ago, where you can finally import obsidian vaults ! I told myself it was worth getting back to you ;)
Fair point. Docker is the only install path right now. I'm a solo dev and I can't properly test across multiple platforms yet. A desktop app is on my list, it'll happen if the project grows enough to justify it. And if you ever recover that energy, PRs are open :D
There is already a non-piped docker-compose setup. The installer just downloads the compose file and env.example, and you can also get them manually from GitHub.
You don’t need to set APP_PORT. If it’s unset, the app falls back to the PORT var provided by Portainer. Just make sure APP_URL exactly matches the root path you’re using behind Nginx.
I know from a friend his deployment running fine on Portainer, so it should work with a standard setup.
of course, there is better, i made an installer that does everything for you, downloads the yaml, the env.example creates secrets, prompts for hostname, port, etc. and finally starts the containers, of course you still have the choice to say no at every step, or edit the .env manually, everything is in the repo (I tried to post it here but seems to be blocked by lemmy's firewall :-/ )
Okay, I’m not taking responsibility for any divorces caused by Ideon 😹
Really glad you liked the demo though, that means a lot. I honestly didn’t expect people to seriously consider moving their whole setup.
For Obsidian migration, yes, I can absolutely make it happen. But I want to be transparent, it’ll take a bit of time to build something clean and reliable :)
Oh mb never thought of that, thanks, I will