Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
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: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
anddocker-compose
installed; I was already in thedocker
group; and the service was already active persystemctl
. I guess from last time I tried this (not too long ago). Create directory, file etc.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:
# systemctl is-active docker
,# systemctl status docker.service
,$ docker info
report as active:
$ systemctl status docker.service
,# systemctl is-active docker
,$ systemctl is-active docker
,# docker info
$ env | grep DOCKER_HOST
and# env | grep DOCKER_HOST
have no output.ps aux | grep docker
andtop | grep docker
tell medockerd
is running byroot
. 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 withoutsudo
depending on environment.normal user:
Oh it needs to be root. OK, try again with sudo:
So it is running?
3952
was pid reported bytop
andps
. 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.
Wow, that's very unfortunate. If you installed docker through package manager and have added yourself to the group I believe this to be self-imposed, I don't know which mechanism Docker uses to give access to users in the group to its service, but seems related to that since it looks like the service is running but just your user can't access it. To confirm it's just that run the compose command as root, i.e.
sudo docker compose up
, this is not ideal but if that works you know it's a permission problem with your user.You seem to know your way around Linux, so it's probably not something obvious. I'm almost sure it's something stupid and self imposed, I've done my fair share of stupid shit like leaving a config file malformatted or deleting a library or installing something through manually copying files only for something else to break because I overwrote something important.
OK, well that works enough to access the specified port and loads the webapp. So that's cool. :) There's a tcp error printed in the page itself but ?maybe? that is caused by improperly running it.
It could well be some self imposed error. But I'm always gonna be making those. If it is, it happened because I was trying to solve some other rudimentary issue. I've never gotten anything functional with this so it's not like I was trying to do something fancy and got in over my head.
Part of the issue with docker in this attempt and other times is it doesn't give good enough errors/output to diagnose. It's really kind of you to help me here but I can't call you every step. The documentation is too focused on making things look simple even when they're not, and therefor glossing over whatever system weirdies are getting in the way. You identified a user issue and even I suspected it (that's why I tried all those commands with and without
sudo
in the above comment). Yet it is not in the official documentation as a potential cause of said error. And now that I have confirmed it, I have no idea how to solve it. I see in my browser history I've previously looked up "rootless mode". Maybe that's how I screwed this up in the first place.Moral of the story is, docker becomes a mess immediately. :D