@Moon@sjw@p >people
zoomers* like caddy
ive spent too much time with nginx to give up now. did you know they quoted us 2000$/mo for an nginx plus license lmfao
@Moon@graf@sjw lighttpd still works, is still fast. (It's also not probably still what Youtube uses, but they probably use a fork of it anyway and it handled Youtube when it was on the way up and long after the Google acquisition.) I run it in a lot of places because nginx, in addition to not supporting CGI (which I need for stuff sometimes), nginx has a really rude config file, and one of lighttpd's early selling points was "The configuration file format is not like Apache's". <Location></Location>, motherfuckers!
We were just kids, graf. And they put us in the middle of that Apache httpd 1.3 hell. I can see every detail of the villages we burned. I can hear the screams, right here, it's like they never stopped. My God, I can feel the heat from the flames! I had to cover my buddy at the network console, it was chaos. Mortar rounds landing, they always seemed like they were an inch away, hostiles shoulder to shoulder, maybe a yard away, maybe a mile, but they felt like they were towering over us. I was terrified but there was nowhere to run, nothing around us but enemies and the dead, I couldn't even hear him typing, but he kept nudging me. I kept them off, though I don't know how. He nudged me again and so I turned around and told him I was kinda busy, but he just slumped, and jutting out of his neck were two massive, bracketed tags, <Shrapnel> and </Shrapnel>, and I realized I'd been providing cover fire for a dead man this entire time. I didn't have time for the init scripts, I just rebooted the damn box. How I got out of there, I don't know, it was like a blood-drenched nightmare that gradually subsided--I hope to God none of them were friendlies--and then when I regained my senses, I was walking down a quiet road towards the grey, pre-dawn sun.
@p@graf@Moon I still remember the day when I had to deal with Apache web server configurable files. It was a nightmare. A nightmare that haunts me to this day.
I was a young and naive web developer, fresh out of college. I thought I knew everything about web development. I thought I could handle any challenge. I was wrong.
I was assigned to work on a project that required setting up a web server on a Linux machine. I had never done that before, but I was confident. I downloaded Apache, installed it, and started it. Everything seemed fine. Until I opened the browser and saw the dreaded message: "403 Forbidden".
I panicked. I checked the logs, but they were useless. I searched online, but I found conflicting and outdated information. I tried to edit the .htaccess file, but I had no idea what I was doing. I messed up the syntax, the permissions, the directives. I broke everything.
I spent hours, days, weeks, trying to fix it. But nothing worked. I was stuck in a loop of frustration, confusion, and despair. I felt like I was in a war zone, dodging bullets, bombs, and booby traps. I heard the screams of my fellow developers, who were also struggling with Apache. I saw the blood of my code, spilling on the terminal. I smelled the smoke of my burning CPU, overheating from the endless requests.
I couldn't take it anymore. I gave up. I quit the project, the job, the career. I left the web development world behind. I never looked back.
But sometimes, when I close my eyes, I still see those configurable files. Those horrible, horrible files. They haunt me. They taunt me. They remind me of my failure.
Apache web server configurable files. The worst thing that ever happened to me.
@sjw@graf@Moon Nice. What are you gonna use for training images? Like, it seems like a lot of people just grab an existing Stable Diffusion model and then tune it, I think it'd be more interesting to do one from scratch, but I don't know where any of the stuff is.
> Ya know, if I were to leave nginx that would probably be what I'd learn.
If you know how nginx works, you can pick up lighttpd in fifteen minutes. Precedence is easier to read, you don't have so many rules about what block something has to be in (so if you want "/robots.txt" to always point to the same file for every vhost, you can just put that at the top), you don't have to size hash tables manually. Just a little nicer overall.
> Can it be used as a reverse proxy and load balancer
Yes.
> for Minecraft servers?
That part I don't know, because I don't know how Minecraft works. If Minecraft uses HTTP for that, then yes. I do know that LetsEncrypt tooling kinda hates lighttpd for some reason.
@sjw@Moon@p but they would all be different worlds, unless you mean sharing the same world data which means it would probably corrupt because different users hitting different blocks on seemingly different servers
i did this once for people on twitter. i set it up so they could move between an old version of the world and the new version via a bridge and some commands in minecraft. they could even carry their inventories over but it was very jank
@sjw@graf@Moon@p then i would question the weed strain you're smoking which would lead to a long phone call on the virtues of knowing thy networking stack
@sjw@graf@Moon@p no doubt. and proxying/load-balancing udp feels very much like giving yourself a handjob right after your arm fell asleep.
if it's something like dns with single packets, using nginx for this with listen udp will work, otherwise if it's multi-packet consider appending reuseport to the mix.
although i can't think of a good use-case to proxy udp at this time.
in regards to caddy. it's quick and just works. i'm not a zoomer, but i use it for things. what's nice is if you've got nginx config down there's an adapter to use native nginx configuration for caddy proxy.
this reminds me i need to publish my config for this particular proxy. it's always 3am and i'm always putting things off
@sjw@graf@Moon@p this could work but if you do this on the edge using our super secret backhaul system it might work. but keep in mind you'd need enough memory alloc to handle the k/v pairs as it could get quite large for a big boy instance
alternative you can persist to disk with a retention and purge cycle but you're still making roundtrip to the disk which eats io and may not be optimal.
or you can just use iptables or nftables for a simpler acl setup.
@mint@sjw@pyrate@graf@Moon@threat Accurate. It is probably worth noting that sequential read optimizations are the reason that NVMe disks are long, but also why data is prone to falling out of them.
@graf@sjw@Moon Oh, yeah, I caught that, and I think you were CC'd on the DMs a couple of weeks ago from the guy that I don't know if I'm supposed to say who he is because he always DMs.
Add comment