3 ms·
If I want to run a bunch services like apprise, n8n, strapi, jupyter notebooks, nocodb, appflowy and more... why wouldn't I run these in containers? Using Docke
by monkmartinez 4y ago
If I want to run a bunch services like apprise, n8n, strapi, jupyter notebooks, nocodb, appflowy and more... why wouldn't I run these in containers? Using Docker and the tooling around it makes it super easy. I don't spend weeks configuring every tiny detail just to get the darn things installed.
What you find annoying is empowering tons of people like me to run lot of software. I can try lots of software I wouldn't have bothered with due to ease of setup. I don't bork my host machine when I make mistakes. I just start delete the container and start over, with a few adjusted settings before build or compose steps.
1337 hackers can run circles around me for sure, but I have a freaking datacenter in 3 computers at my house. All of them are internet facing with Cloudflare tunnels pointed at the services I want to share or use away from home. It has never been this good.
- Handytinge 4y ago> What you find annoying is empowering tons of people like me to run lot of software. In what way does _only_ having a docker install option empower you? GP wasn't stating that docker is bad, but docker _only_ options are bad. There are many use cases that are not yours that docker doesn't suit.
- horsawlarway 4y agoI agree with this take 100 fucking percent. I want to be able to consume and run code provided by other people on hardware/networks that I own. In which case - Docker/Containers/K8s(or my preference, MicroK8s) are a fucking godsend compared to 10 years ago. I host about 25 services, I have all the config in a single repo, and can rebuild the whole fucking thing in about 10 minutes. Adding a new machine to take load is as easy as installing ubuntu server, adding microK8s, and running a SINGLE freaking line on the cli. Boom - done. I do this basically each time we get a new machine... the old one goes to live in the server farm. All the backups? Easy, since the storage is my NAS, mounted in microK8s, and I can just run scheduled backups there for literally every new service, without any additional config as I add them. It's incredible. I have done the whole "SSH into each machine and tediously configure it to run a specific application, configure my router, make sure the config files are in the right place, configure backups, worry about HDD lifespan, etc" bullshit for long enough to know that I don't EVER want to go back to that. The people that keep talking shit about containers are still incredibly focused on the use-case of "I host my own blog" like that's all that self-hosting is. But it's not - I self host open source applications as a complete replacement for shitty, ad-driven, recurring subscription fee based SaaS companies. Meal planning (mealie), Calorie tracking (calorietracker), Video streaming (jellyfin), Google Docs/Notion/etc (bookstack/nextcloud), Authentication (keycloak), File sharing/storage (seafile), Digital Library (calibre), Home automation (openhab), Asset tracking (snipeit), todo lists (Taiga), scheduling (cal) etc... Containers aren't there to help you host your blog. They're there to let me host your application. Configured quickly and simply. If there's company making money through a recurring subscription based website... There is someone who has made a decent clone that I can self-host. And these tools make that process much easier than it used to be.
- superkuh 4y agoMeal planning? Text file. Calorie tracking? Text file. Video streaming? Share video file with static webserver. Google Docs? Share documents with static webserver. Authentication? I don't understand what this is or why it is needed. File sharing/storage? Share with a static webserver. Digital library? Files and folders, if you want to share, share with static webserver. Home automation? I don't know what this is. Todo lists? Text file. Scheduling? Text file. You'd be surprised what you can do with simple files and a single static webserver.
- 35mm 4y agoHow do you manage the databases?
- horsawlarway 4y agoContainer images that have access to an NFS mount from my NAS. You need to be careful with your mount options here, since soft mounts can cause corruption in some cases and performance is not fantastic (although nfs v4.1 is better than nfs v3) - but overall it works and keeps backups strategies simple since everything is on the NAS. Sadly - it's fairly slow (sqlite in particular is painfully slow when under lots of load and needs care to ensure only one machine is writing to it at a time) but right now I'm avoiding more complex setups since it's not normally a problem with just me+family using things. Long term - I've been considering moving to iSCSI, or something more robust, but it just hasn't been worth the trouble yet. Did make me like sqlite a whole lot less though - I opt for mariaDB/Postgres on any service that supports a remote db - they seems to do just fine. 3 years in on this setup and no corruption outside of sqlite on a soft mount (which was solved by reverting to my last backups).
- dotnet00 4y agoAs I mentioned in another comment, docker containers are fine until you have even a slightly non-standard setup or use case, like the not-so-uncommon setup of having the machine connected to a VPN, in which case docker will proceed to not work at all. What makes running these things easy isn't the container but that the software is packaged at all and would have the same effect if it were done through a conventional package manager. So of course docker seems like an upgrade when the only other thing they're offering is a loose distribution of files you have to manually copy in and configure.
- mrmlz 4y agoWhat do you mean "connected to a VPN in which case docker will proceed to not work at all". ... i have a vpn and my docker containers work just fine?
- bobdvb 4y agoAs a relative beginner to Docker at home, the biggest issue I've had is that there is a presumption that everything is HTTP. I wanted to run two apps in two Docker containers that both wanted UDP on the same port and couldn't do it. Docker lets you use multiple IPs but apparently you can only use a single port for any app on a single host. Tedious.