This project sets up two standalone MinIO instances behind an Nginx load balancer using Docker Compose.
- Docker
- Docker Compose
- Python 3.8+
pip(Python package manager)
git clone https://github.com/sharansukesh1003/distributed-storage-system.git
cd distributed_storagepython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txt💡 Make sure you add your Django-related dependencies in
requirements.txtif needed.
docker-compose up -dThis will start:
-
MinIO Node 1:
- API:
http://localhost:9000 - Console:
http://localhost:9001
- API:
-
MinIO Node 2:
- API:
http://localhost:9002 - Console:
http://localhost:9003
- API:
-
Nginx Load Balancer:
http://localhost/80
Username: admin
Password: adminpassword
-
Access MinIO Web Console:
- Node 1: http://localhost:9001
- Node 2: http://localhost:9003
-
You can create two buckets in each node:
filesfiles-backup
-
Nginx balances file uploads between nodes using least connections strategy.
-
You can configure replication from the MinIO dashboard or via
mcCLI.
Your local MinIO cluster with load balancing is up and running. Time to integrate it with your Django app or any other project!