Tyler's Site

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/