5 ms·
Containers and deployment and all that jazz. This is the exact kind of cargo cult nonsense that drives people away from self hosting due to the apparent complex
by superkuh 4y ago
Containers and deployment and all that jazz. This is the exact kind of cargo cult nonsense that drives people away from self hosting due to the apparent complexity. NONE of that is needed to self host a website.
Just install nginx from your repos and <html><head><title>My first website</title></head><body><H1>Wow! Hi.</H1></body></html> into a index.html and put in in your www directory. Done. And done in a far more secure, far longer lasting, far less fragile way than anything involving containers or "deployment".
- r1ch 4y agoYup. I remember messing around with Redhat when I was 13. I installed Apache, edited the default index.html in htdocs then went to another computer, put in my IP and it worked! I was amazed, here I was running my own website. 25+ years later and the same steps are still possible to get the same result. I very much doubt k8s and Docker and whatever fancy new technology of the month is being pushed will have the same longevity. Simple technology rules.
- PubliusMI 4y ago[flagged]
- 533474 4y agoHe is entitled to his opinion and you may be breaking the rules of HN by starting a flame war. Our technology is built upon the foundations from our predecessors. I am younger too but I do not promote ageism that is so rampant in our industry
- horsawlarway 4y agoHis opinion is misinformed and ignorant of the reality of hosting open source applications. If you want to host your own blog... sure, run a local copy of nginx or apache. That's not what this conversation is about. We're not hosting our own websites - we're replacing crappy ad driven/subscription SaaS companies with open source applications, running on our own hardware/networks. The use case there for containers is both obvious and compelling, and his comment shows that he has zero understanding of the space. So he's making an uninformed rant while talking about the "good ol' days" when everything was SO simple. Will Docker, specifically, be around in 20 years? Who gives a shit. Will the concept of an isolated & preconfigured runtime environment (containers)? Fuck yes it will.
- Handytinge 4y ago> The use case there for containers is both obvious and compelling, and his comment shows that he has zero understanding of the space. I think this is more reflective of you, than him. The technologies he's discussing drive (often in a poor, bloated way) most containers, and are the underlying components. Learning to self host with containers is fine until you want to customise beyond the ENV variables, or fix a bug and not have to wait on the maintainer, etc, etc. Containerisation _is_ a recent tech, and it sticking around in the future _is_ debatable. I'm old enough to recall Red Hat (not EL)/Fedora kickstart being the thing that will never be replaced. The thing that likely won't go away is the underlying infrastructure (nginx, apache, etc) that are worth knowing if you self host.
- r1ch 4y agoYou're making a lot of assumptions here. Of course containers will be a thing, I'm not arguing against that and I run plenty myself. My point was that for simple tasks, you don't need to immediately jump into a technology you might not necessarily understand or won't be around in the future. Start with the basics and understand the core concepts.
- dotnet00 4y agoUnfortunately a lot of self-hosted services seem to be heading in the absurd direction of being entirely docker based, often not even having a means of installing the thing normally. It's extremely annoying.
- Beltalowda 4y agoI think the problem is essentially one of scaling. When folks talk about scaling they usually talk about "being able to do more"; but this often comes at the expense of more simple use cases. Most business software I worked at would be horrible to self-host: maybe 3 or 4 services, if not more, requires PostgreSQL, ElasticSearch, Redis, maybe some queue system, etc. In short: "scaling up" often comes at the expensive of "scaling down". The current model for a lot of self-hosted software is "make money with a SaaS offering", which is a fine model IMO, but now you have to cater to two different scales: the small "downscale" of the self-hosted user, and the larger "upscale" one of your SaaS offering. I actually work on one of those "open source with SaaS offering" things, and it's a real challenge to unify these two use cases because the involved tools are quite different, and I don't want to implement everything twice. Docker can offer a solution to abstract the complexities that are required, although I agree it's not a good solution to 100% rely on it (which is why I don't do it).
- dotnet00 4y agoYes, I understand that there are tradeoffs there, especially for a lot of federated services, which even without SaaS have to be able to scale well. My complaints mainly stem from how docker is often kind of finnicky, eg in a previous setup of my server, I had to put everything through a VPN, but Docker didn't play well with a VPN running on the main system, so I had to limit myself to things I could install without Docker until I had to migrate to a new install. Another issue I ran into with migrating servers was restoring a Postgres db dump to docker, which similarly didn't have much documentation, so for that I had to resort to a traditional setup. Which made me pretty happy that they at least support traditional setups, even if they lean more towards Docker.
- superkuh 4y ago
- jokabrink 4y agoI disagree: Using docker makes it incredibly easy to tinker without real consequences or hassle. Want to try out - say - Heimdall? Create a docker-compose.yml file, an nginx reverse proxy config, and spin up the container. Don't like it? Remove said files and container. Thought about using a wiki for a project? Same thing. For me, containers are just abstractions similar to packages, or OOP objects, or even apps. And as long as a service fits into this view, I think docker provides a great way. But, sure, you can overdo it and end up with more complexity than less (e.g. Nginx Proxy Manager).
- monkmartinez 4y agoI completely agree with you and will take it even further. I don't even futz with nginx anymore. You don't need to do that with tunnels. This assumes you have created a tunnel with required domain name. Very, very easy to setup. 1. Create container 2. Open Cloudflare ZeroTrust 3. Create a hostname for the new service or app; heim.example.com -> http://localhost:port http://localhost:port 4. Save it. 5. Done. -> access the service from http://heim.example.com http://heim.example.com from anywhere in the world 5. For extra security, register the app in zerotrust with an email verification policy with emails you trust or use a token, or what ever auth you like.
- Handytinge 4y agoI just opened up the product page for "Cloudflar Zero Trust", which is full of CxE fuzz speak. It seems to be a hosted VPN? So your solution for self hosting is to use a VPN not self hosted?
- para_parolu 4y agoDocker and especially docker compose finally made it easy for me to start hosting many service on my local synology. I want to write some yaml, run command and get result. The last thing I want is to fight different versions of python, js or OS differences.
- gjs278 4y ago
- smoldesu 4y agoIf your OS fails to package nginx properly, it's probably time to find a new package manager/OS. On a more serious note though, both technologies have their uses. Docker can be nice for ad-hoc hardware provisioning without needing to think about much, but I think the GP's comment is still relevant. For a lot of users who are completely unfamiliar with bash/Linux, Docker will be impossible to grok. For the average HN engineer sitting at their Mac, it makes a lot more sense to get nginx/apache from Brew and tinker with it natively.
- monkmartinez 4y agoWhy bother with nginx at all tho? Why take the chance of borking your ENTIRE system with software you aren't intimately familiar with? Dockerize that shit and move on. If you want to get into the weeds with some bare metal installs, have at it. There just isn't enough time for me to learn every sub-system in the entire software stack to be productive. I say, pick your poison and get after it!
- smoldesu 4y agoFor one, because Docker is a horrible experience for anyone that isn't running Linux. Bare metal installs are much better for tinkering and "getting started" than Docker is.
- horsawlarway 4y agoYou clearly don't understand what the poster is saying. I'm not fucking interested in "tinkering" with nginx/apache to host my own software, I'm interested in herding dozens of open source applications that replace paid/shitty ad driven SaaS companies. The contract with docker is incredibly simple - you give me the path you're saving data to, a couple of ports to point at, and some ENV vars to provide config - I do the rest. Boom - suddenly I can easily host literally hundreds of dollars per month worth of recurring subscription SaaS products using my own hardware and networks. All without having to see ads, or risk external data breaches, or deal with user tracking.
- 40four 4y agoYou're not wrong per say, but that's not really what this guide is about. It's more about self hosting open source applications and services, not simple web pages. So I don't see how Just make an index.html and put it where your web server can serve it makes much sense here. As someone who enjoys self hosting my own applications like Nextcloud, Ghost, Matrix/ Element and others, I think using Docker containers does actually makes sense here. I'm also a big fan of the KISS approach, as you are saying. However if you are trying to orchestrate multiple apps on a small home server or SBC, the installation and maintenance can become a huge headache very quickly. Especially if some of those apps have conflicting dependencies.
- superkuh 4y agoI'd still disagree. Want to share an image? Put it in ~/www/. Want to share a video? Put it in ~/www. Want to share some music? Put the .mp3 in ~/www. This core idea, that you can share files simply by using a file system, makes many of these extremely complex tools that require containerization due to their rapidly changing deps... overkill. An impediment to the actual goal of just showing people things. There's almost nothing simpler than using your mouse to drag a file into a folder or $ cp etc etc. This entire thread reminds me of the inverse relationship between actually blogging and messing around with blogging setups, https://rakhim.org/honestly-undefined/19/ https://rakhim.org/honestly-undefined/19/ As for hosting your own Matrix homeserver, sure, that's such a heavy and over-complex protocol that changes rapidly and uses libs that change even faster. You'd want to containizer that.... and probably give it it's own computer instead of your desktop or an SBC since it's going to take a lot of system resources. Or even better, don't use protocols that are so unstable you can't run them natively.
- 40four 4y agoAll fair points! Maybe I should reevaluate :)