
Sorry about the long downtime everyone. What happened is sometime around 20:00 yesterday the instance went down. I wouldn’t be able to ssh into the server until the morning, so I tried restarting the server through our hosting’s web interface, but this didn’t work.
When I got home I found the reason Lemmy wasn’t working was because the database had suffered some corruption. Thankfully, the only lost data was 3 posts, but some data got duplicated in random tables that shouldn’t be and this wasn’t the easiest thing to track down.
Why did the server go down in the first place?
I don’t actually know the real reason, what I suspect happened is that the frontend got taken down by the rampant scraping we’ve been subject to. To put it into prospective, just look at the jump in the size of our web logs:

These are compressed plain text, like it’s unreal.
But back to the server, I think when I restarted the server to get everything back up, docker killed the database before it had shutdown properly hence the corruption.
Anyway, it’s sorted now. It’s going to be a bit quiet until we’ve caught up with the activities we’ve missed, so enjoy the quiet while you can.
See this is why I hate working in the IT department, because it involves using computers, and they suck.
Yeah, those gigabyte sized access logs is something we have seen for weeks.
Anubis has also gotten largely ineffective, and yesterday I had some time to sample some of the access log IPs and it is clear that this is a coordinated scraping attack from the Huawei ASN that additionally employs residential proxies mostly in Pakistan, Vietnam and Brazil.
I don’t really have a good idea how to deal with it, but it is a complete PITA.
Would you know why Anubis isn’t as effective?
Anubis doesn’t really do anything if the bot knows about it and doesn’t send the bits Anubis looks for. There are a few other heuristics that you can enable in the Anubis config, but it is a principal issue with how Anubis works. The general idea is that if a bot doesn’t send the things Anubis looks for, then it should be possible to distinguish it from regular browsers by that, but then you are back at a manual whack a mole game and given the extensive use of residential proxies these days it is very much a losing battle.
Anubis recently added a honeypot with automatic IP logging though that might help in combination with fail2ban. But in the end if scraper bot authors are already circumventing Anubis intentionally, it is probably also only a temporary respite.
What’s the database underneath lemmy? Is there a transactional option so that it fails safe in the event of unexpected shut down?
Also thank you very much for fixing.
Yikes sounds like a nightmare. I hope you managed to get some sleep!
I did and it was surprisingly pretty good.
All hail flamingo-cant!
More like flamingo-can!
Hails!
Well done! We knew you would come through, honest!
On the scraping… That’s crazy. Is there anything that can be done to protect things?
Using Anubis. But i’m not technical, anyzay that’s a good new :)
Glad to see we are back. Those access logs are crazy.
I’m sure you will fine a lot of Chrome/12X, Chrome/13X and Chrome/14X user agents there. Seems to be the favourites of attackers/scrapers recently.
On another note, do the server has a profile somewhere like mastodon or something we could check in case it goes down in future.
Thank you so much for the work you do!
On another note, do the server has a profile somewhere like mastodon or something we could check in case it goes down in future.
Someone did actually reach out to my personal Mastodon account to ask what was happening.
Like florge said, there is a Matrix space that mostly serves this function, but that does require you to have a Matrix account so isn’t the best for public notices. It’d be nice to have a page (eg status.feddit.uk) where I could put messages about what’s happening. I’ll need to look to see if something like that exists.
The trouble with the matrix space is that when the site is down it’s pretty much impossible to find the details for it.
There’s a matrix space here
Do you have anything in place for detecting and mitigating DOS attacks? I wonder if you were to grep the logs by IP address you’d see the offending IP addresses. Though if you’re using a load balancer or some other kind of proxy and don’t have IP address forwarding configured, all requests might come through as the same IP address.
some data got duplicated in random tables that shouldn’t be
I’d also check that there’s plenty of disk space spare, given that the log files are so large, as I’ve seen environments start to behave unusually once disk space has ran out, including SSH locking up.
There’s a setting in Lemmy that only let’s logged in users make API requests. I’m going to activate that over night for now.
Thank you for your efforts to fix it!
Just wondering, is there a backup place where things like this can be communicated? Blue sky or mastodon for example?
There’s a matrix channel here: https://matrix.to/#/#feddit.uk:matrix.org








