Abstract
I would like to start working towards learning a bit more about distributed services. A decent place to start would be setting up a distributed, high availability Forgejo server. This project might be kind of ambitious, but I think it would be a good learning experience. I think I should be able to set this up with just a few machines, though I think I will be using containers (jails?) fairly heavily to make this work. I will need to setup a distributed database, as well as a front-end that works well with it. I will also potentially need to setup something with GlusterFS and an Nginx load balancer.
Inspiration of this idea came from an article series on setting up a highly available word from LowEndBox. I will likely need some sort of storage server, though I am not sure if I want to try to setup S3 storage, or a GlusterFS storage pool.
Diagram of what it might look like
+------+ +------+
| Forg |---| Forg |
+------+ +------+
| \ / |
| x |
| / \ |
+------+ +------+
| DB |---| DB |
+------+ +------+
Resources
https://computingforgeeks.com/how-to-setup-s3-compatible-object-storage-server-with-minio/ https://forgejo.org/docs/latest/admin/storage/ https://forgejo.org/docs/latest/admin/database-preparation/