I made this to answer the question on a few different forums, but I will also post it here for those still on the hunt! With this setup you really don’t need a Nextcloud integration either because you can just use Obsidian when you want, the Nextcloud Notes plugin other times, heck I even use VS Code when I am programming.
Intro
I went down this road hard, and for anyone who stumbles onto this, there is still no official integration, however, I found a way that works 99.9% of the time flawlessly. It does involve a bit of setup depending on how exactly you want to access your notes. For me, I wanted to be able to pull them up in Nextcloud, through Obsidian, through Windows Explorer, and any web service I am working in, such as Codeserver (VS Code).
Again, for me I wanted to basically access my notes from anywhere with anything. This is because my vault is not just my notes, it is also all my configurations, settings, etc for my entire codeserver. This is the way
Database Location
This is where you may or may not have to change your setup based off of your conditions. The issue is, you cannot touch a file in nextcloud without using nextcloud to sync easily. Yes it can be done, but it is a pain to have to manually sync the database after every change. The solution is to use external storage. Set it up through nextcloud and when you use nextcloud sync or the web gui or anything else you can still access and tweak your files as needed. You lose no functionality. If you are running the all in one docker container you can also just add it to the borg backup as well so you are backing up your files.
Sync Methods
This works good on PC’s. It is one of the best options there is. Depending on your setup, you may have to tweak the ignore list to get it to work seamlessly.
SMB Share
This one is what I use. So because I am using external storage for my vault, I can also set it up to utilize SMB. Can you use webdav instead? Yes, but from my experience it caused syncing issues. First set up your vault to use SMB, then map the drive on your PC’s. Set up the obsidian app to use that drive. Now you can access your files from Obsidian or File Explorer.
Remotely Save
You will set this up as a webdav directly to nextcloud. I have to admit, I about gave up on getting this to work. For most people there will be no issue and it will work great. For me it was an absolute pain to setup. The reason again was because I store much more than just markdown documents in my vault. Remotely Save is picky about what it wants to see in the vault. For example ZIP files. What happens is the sync will terminate and never fully sync as it is seeing things it does not know how to deal with. This can be fixed by tweaking the ignore list in remotely save itself, for me these were the two most important ones.
.*\.gitignore$
.*\.zip$
Obsidian Docker Container
While I would not recommend this as a long term solution, it does work well. What it does is spin up a docker container that has Obsidian installed already. You point it to your vault and bam, it is just like it is a local install. I have this then setup thru Traefik so in a pinch I can just go to web address I have setup and access my vault. This is handy for if you need access on a public / friends PC for whatever reason.
services:
obsidian:
image: lscr.io/linuxserver/obsidian:latest
container_name: obsidian
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- obsidian_config:/config
- /mnt/Media/Apps:/mnt/Media/Apps
ports:
- 3003:3000
- 3005:3001
shm_size: "1gb"
restart: unless-stopped
volumes:
obsidian_config:
Conclusion
In conclusion, I can access my vault from basically anywhere anytime. In the past several months I have had zero issues with syncs other than personal error, aka I add something to my vault that makes one of the syncs angry or my SMB server decides it wants a reboot.
There are a ton of fantastic addons as well in Obsidian you can use if you are trying it out for the first time. Here are a few of my favorites:
[
"remotely-save",
"table-editor-obsidian",
"calendar",
"codeblock-customizer",
"cmdr",
"dataview",
"obsidian-excalidraw-plugin",
"obsidian-icon-folder",
"obsidian-kanban",
"omnisearch",
"obsidian-outliner",
"quickadd",
"remember-cursor-position",
"obsidian-style-settings",
"obsidian-tasks-plugin",
"templater-obsidian",
"vscode-editor",
"sheet-plus"
]