I’ve been using Obsidian for my note taking for a little while and I love it. I love you can just do a quick [[[other note]]]
and it will link to the other note. I love that the full thing is just in markdown files, so that I can have full control; even if Obsidian were to disappear.
The one thing that is a little frustrating for me is getting my notes synced between my desktop, laptop, and phone. I have tried using syncthing to just sync the markdown files directly and it worked pretty well. But, it seems a bit overkill on my phone. I think I’d rather move to a single server that I can connect them to and they can sync from there.
I have looked into a few plugins. I saw that there a git one. I am a developer. So, that seems like the natural way for me to do it. But, I also saw a post on reddit where they suggested webdav. Which might be closer to what I want. I don’t need it to be where I can type on two devices and have the stuff sync super fast or something. I just want to type my notes, close the app, and when I open it on a different device; I want it to have my latest notes ready for me.
What are you personally using for Obsidian? I’d love to hear from other people here. I don’t want to pay for Obsidian’s subscription service. I want to host it myself.
I personally use the Obsidian Git plugin and sync it to a self-hosted Gitea server. You could also use GitHub or something similar, if you don’t mind them.
Not what you’re asking, but in case it helps. I don’t use Obsidian, I use https://silverbullet.md/ it’s very similar, markdown files with the ``[[other note]]` syntax (as well as some querying mechanism that I believe Obsidian also has), in short it’s almost an open source version of obsidian but it has some advantages IMO:
- It is open source
- It provides a sync mode, where you download the text to your device and it’s accessible offline to get sync afterwards.
- It’s hackable so you can write your own functions and styles
I’m surprised almost no one has heard of it, the main developer is here on Lemmy, that’s how I found out about it. BTW I also use syncthing to keep backups of my data, and even specifically to not sync a work folder outside of the work computer even though the rest is synced, so I can access Silverbullet from localhost on the work computer and get everything there and any changes to non-work stuff get synced to my home server, and from my personal server get everything except work stuff.
Obsidian is great though, even if it’s not open-source. The stability of alternatives is not at the same level from what I’ve heard.
I hope that there is a dark mode! lol I checked it out. I’ll probably try it soon.
I would love to remove non floss obsidian from my day but its just so gosh darn useful. I came across Silverbullet a while ago in one of my periodic searches for alternatives.
Main issue getting in the way for me to even try it is docker. I understand that once you are comfortable with it, its convenient, but I never got there. I have tried running it every so often and its always some kind of issue that makes me give up. I keep a list of docker-only software to try in the event I ever get over that hump and this is on it.
As a competitor against obsidian, Joplin etc the docker pre req is a very high bar to clear. Overwhelming majority of users of note taking apps have not and will not run docker.
Knowing this, it makes me less excited about this project as it exists today because the best thing about obsidian is the giant user base creating so many plugins and tools to work with it. I wouldn’t care for vanilla obsidian at all, it is made great by all the community generated add ons. So a small user base is kind of inherently a knock against any given project for me.
I don’t know or presume this projects goals. If they want to be an alternative to desktop apps for less technical user-base, this would have to be resolved. But totally legit if that’s not the priority.
I know you probably heard this thousands of times, but really, if you’re into self-hosting docker is a blessing. People make it harder than it needs to be when explaining all of the ins and outs. I assume you have a Linux box where you run your stuff, just install docker and docker compose there (you might need to enable the docker service, add your user to the docker group and reboot, unless you’re using a user friendly distro like Ubuntu). Then just make a folder anywhere for Silverbullet, create a file named compose.yaml
and put the following text there:
# services means that everything inside is a service to be deployed
services:
# this is the name of the service, you can put whatever you want
silverbullet:
# this is the docker image to use
image: zefhemel/silverbullet
# this is the rule to restart in case of crashes
restart: unless-stopped
# these are environment variables you want defined
environment:
# this is a specific variable for Silverbullet, it's essentially username:password change this accordingly
- SB_USER=admin:admin
# volumes are local folders you want to be available
volumes:
# in this case we want that the folder ./space be mounted as /space inside the container
- ./space:/space
# these are the ports we want to expose
ports:
# This means expose port 3000 on port 3000, if you want to access Silverbullet on port 8080 this would be 8080:3000 (because internally the service is still listening to 3000)
- 3000:3000
Then run docker compose up
and you should be able to access it on the port 3000.
Ling story short docker compose looks for a file named compose.yaml
in the local directory, and that file above has all of the information it needs to run the server. I’ve annotated each line there, feel free to remove the comments.
I really appreciate the time you took to help me but seriously there is always issues even when it’s supposed to be simple/basic. Nevertheless I am in the mood to be wrong and pleasantly surprised so I follow your instructions. (Spoiler: It doesn’t work. But I am not trying to request further help about this, because I am fairly resigned to the situation. I am just showing you, that I tried.)
I already had docker
and docker-compose
installed; I was already in the docker
group; and the service was already active per systemctl
. I guess from last time I tried this (not too long ago). Create directory, file etc.
$ docker compose up
unable to get image 'zefhemel/silverbullet': Cannot connect to the Docker daemon at unix:///home/username/.docker/run/docker.sock. Is the docker daemon running?
So I find Troubleshooting the Docker daemon | Docker Docs. It has several methods to find out if docker is even running which now I am confused about.
reports as inactive:
,
,
$ docker
report as active:
$ systemctl status docker.service
,
,
$ systemctl is-active docker
,
env | grep DOCKER_HOST
and env | grep DOCKER_HOST
have no output.
ps aux | grep docker
and top | grep docker
tell me dockerd
is running by root
. So I think maybe I need to start it as a regular user for this exercise?
Found Start the daemon | Docker Docs which advises the use of dockerd
either with or without sudo
depending on environment.
normal user:
Starting up
dockerd needs to be started with root privileges. To run dockerd in rootless mode as an unprivileged user, see https://docs.docker.com/go/rootless/
Oh it needs to be root. OK, try again with sudo:
Starting up
failed to start daemon, ensure docker is not running or delete /var/run/docker.pid: process with PID 3952 is still running
So it is running? 3952
was pid reported by top
and ps
. It is running. But it’s not running.
Who knows… honestly this is how it goes every time. Maybe I am running services wrong… maybe I set something up last time because I was trying to solve another problem and it was suggested and that thing is now causing me am issue. I could chase my tail on this all week.
Like I said I completely believe everyone that once you’re rolling with it, it’s great. I’m happy for everyone who is able to access this. I will continue to live without it for the time being.
I’m using Syncthing. It doesn’t feel like overkill, especially since I’m also using it for music and photos. I basically just set it up and forget about it.
Same, but apparently android app is no longer supported since google play was too annoying for the developer. So wondering how long I can keep it up.
Perhaps take a look at this :)
Planning to close my Google Play Developer Account. Please say hi if you are interested in obtaining the latest gplay release files from me to help in publishing this app.
Seems like most open source project are leaving Google’s official store? That’s nice but will leave out some potential visibility for people who have no idea other than Google Store.
I wish their was also an easy way to leave github behind :/. Wait&See !!
Look at the LiveSync plugin as another option. It’s pretty robust but does require a CouchDB server accessible to whatever devices will be syncing information. The developer has several repos of slightly different server options, but if you use Tailscale there’s one that runs CouchDB through Tailscale Funnel.
I just have my vault default location saved on a cloud drive. iCloud in my case as I have an IPhone but I guess it could be done with any cloud or owncloud if you have a server.
I used to use Git, but it is easier to just move the vault on a network/cloud drive as you don’t need to pull/push. As obsidian auto save when you type a character this makes the sync instantaneous with zero effort.