Skip to content

Latest commit

 

History

History
86 lines (50 loc) · 1.48 KB

README.md

File metadata and controls

86 lines (50 loc) · 1.48 KB

Minio Storage Wrapper

Features

  • Minio Storage: Interacts with Minio for file storage.
  • HTTP and gRPC Support: Serves requests in both HTTP and gRPC formats.
  • Redis Cache: Stores metadata for files in a Redis cache.
  • Load Balancing: Nginx configuration for load balancing between client and API servers.

Installation

Prerequisites

  • Go installed on your machine
  • Minio Server
  • Redis Server
  • Nginx

Steps

  1. Clone the repository:
git clone [email protected]:MikeMwita/minio_storage.git
  1. Install dependencies:
go mod download
  1. Configure environment variables:

Copy the example environment file:

cp .env.example .env

Modify the values in the .env file to match your setup.

  1. Run the application:
go run main.go
  1. Configure Nginx:

Update your Nginx configuration with the provided upstream configuration.

  1. Access the application:

The HTTP server is accessible at http://yourdomain/. The gRPC server is accessible at yourdomain:9000.

Configuration

Minio Configuration:

Update Minio server details in .env file.

Redis Configuration:

Update Redis server details in .env file.

Nginx Configuration:

Modify Nginx configuration for load balancing as per your requirements.

Usage

HTTP Server:

Access the HTTP server at http://yourdomain/.

gRPC Server:

Access the gRPC server at yourdomain:9000.

License

This project is licensed under the MIT License - see the LICENSE file for details.