Skip to content

A dockerized self hosted server running on the Comunitarian Network of Gandiol, Senegal

Notifications You must be signed in to change notification settings

aucoop/hahatay-community-network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hahatay Community Network

About

Hahatay is a non-profit asociation for community development, aimed at providing effective responses to forced migrations in Africa that deprive its youth of hope. The organization's objective is to empower and involve young people to become true protagonists in improving their lives, and to be a meeting space that connects individuals committed to integral human development.

Purpose

This repository aims to showcase the implementation details of the network topology. The goal is to show how we deployed the network, which hardware and software technology stack we used and how we manage the network in order to be open and transparent about the work done and inspire more people from the community networks community to embrace self-hosted projects and target other rural areas around the world.

Documentation is focused on 3 main areas: backhaul network architecture, low cost Mesh Networks deployment and micro-services deployment.

Thanks to Contributors

This is a non-profit project and it's driven mainly by students or volunteers that dedicate their free time on collaborate into tasks of the project.

The project is mainly funded by the CCD at the UPC (Universitat Politècnica de Catalunya)

TODO Collaborating corporate entities donated servers for these services, including Labdoo and Typeform.

Network Implementation

Backhaul Networks

The backhaul network interconnects geographically distributed areas using radio links (Ubiquiti airMAX antennas). At the edge, there is a small datacenter with three edge servers: one dedicated to network management functionalities and two others dedicated to perform multimedia tasks.

Low-Cost Mesh Networks

The aforementioned geographically distributed areas have a surface that is big enough, so several access points are needed. In order to have proper WiFi access networks, we have built mesh networks using low-end routers.

All documentation and code around Mesh Network deployment can be found here.

All of the routers and access points run OpenWrt. OpenWRT is an open source operating system for routers that provides an standarised way to deploy and manage networks, with a user-friendly graphical interface called LuCi. Some relevant documentation on:

Microservices

Services are deployed using microservices that run on containers. The container engine used is docker, and all the services are standalone and self-contained in docker-compose files. All documentation and code around microservices deployment can be found here.

The list of services that run in the network is constantly evolving, but here are some of the services that are currently running:

  • Nextcloud: a cloud solution similar to Google Cloud, for uploading and sharing documents.

  • Zabbix for monitoring of the network.

  • Nextcloud Talk: a Nextcloud solution to chat with your peers and make voice and video calls.

  • Small NAS running in a raspberry pi with penMediaVault: combined with backups in different buildings for disaster recovery.

  • Traefik: reverse proxy for deploying multiple services in the same host. Also is useful to get SSL certificates within all services running in the network.

  • Portainer: for container management.

  • PiHole: our Intranet DNS. Check also the extra steps for having a redundant instance.

About

A dockerized self hosted server running on the Comunitarian Network of Gandiol, Senegal

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages