First of all, I would like to thank the Lemmy.world team and the 2 admins of other servers @[email protected] and @[email protected] for their help! We did some thorough troubleshooting to get this working!
The upgrade
The upgrade itself isn't too hard. Create a backup, and then change the image names in the docker-compose.yml and restart.
But, like the first 2 tries, after a few minutes the site started getting slow until it stopped responding. Then the troubleshooting started.
The solutions
What I had noticed previously, is that the lemmy container could reach around 1500% CPU usage, above that the site got slow. Which is weird, because the server has 64 threads, so 6400% should be the max.
So we tried what @[email protected] had suggested before: we created extra lemmy containers to spread the load. (And extra lemmy-ui containers). And used nginx to load balance between them.
Et voilà. That seems to work.
Also, as suggested by him, we start the lemmy containers with the scheduler disabled, and have 1 extra lemmy running with the scheduler enabled, unused for other stuff.
There will be room for improvement, and probably new bugs, but we're very happy lemmy.world is now at 0.18.1-rc. This fixes a lot of bugs.
Nice, really liking the update!
Some questions about development for the fediverse:
Is the code for running Lemmy written by one or person or a smome core team?
Is there any decision making process as to which features will be worked on in the next release or which bugs to prioritize?
In theory what would happen if the original developers started making changes that other people don't agree with? Would we get a fork then where servers have to choose to adopt it or not?
It's written largely by one person with contributions from other people. It's open-source and available on GitHub, which is how others are able to contribute.
To answer your other question, since the software is open-source, anyone could fork it and modify the code, and people could use that version instead of the original creator's version.