openmaxio-object-browser: A Community-Driven UI for MinIO Object Storage

Summary
openmaxio-object-browser is a community-driven fork of the MinIO Console, providing a graphical user interface for MinIO Object Storage. It aims to restore and preserve features removed from the original MinIO open-source distribution, offering a fully open and functional object storage server UI. This project ensures users have access to a robust, community-maintained interface for managing their MinIO deployments.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
openmaxio-object-browser is a community-driven fork of the MinIO Console, designed to provide a robust and fully open graphical user interface for MinIO Object Storage. It emerged as a response to the removal of key features from the MinIO open-source distribution, aiming to preserve a production-grade object storage server that adheres to the original spirit of minimalism, performance, and freedom. This project ensures that users have access to a comprehensive and community-maintained interface for managing their MinIO deployments, bringing back previously removed functionalities and keeping them open for good.
Installation
To get started with openmaxio-object-browser, you can either build it from source or connect it to an existing MinIO server.
Build from Source
Follow these steps to build your own OpenMaxIO UI:
git clone https://github.com/OpenMaxIO/openmaxio-object-browser
cd openmaxio-object-browser/web-app
git checkout v1.7.6
yarn install
yarn build
cd ../
make console
./console server
Connect to an Existing MinIO Server
To connect the OpenMaxIO UI to an existing MinIO server, run this command, replacing 1.2.3.4:9000 with your MinIO server's address:
CONSOLE_MINIO_SERVER=http://1.2.3.4:9000 ./console server
Setup User and Policy
Before running the console service, you'll need a MinIO user with appropriate privileges. Here's how to set up an admin user and policy for testing:
-
Create a user
consoleusingmc:mc admin user add myminio/ Enter Access Key: console Enter Secret Key: xxxxxxxx -
Create a policy for
consolewith admin access (for testing):cat > admin.json << EOF { "Version": "2012-10-17", "Statement": [{ "Action": [ "admin:*" ], "Effect": "Allow", "Sid": "" }, { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::*" ], "Sid": "" } ] } EOF mc admin policy create myminio/ consoleAdmin admin.json -
Set the policy for the new
consoleuser:mc admin policy attach myminio consoleAdmin --user=console
Examples
Starting the Console Service
Before running the console service, the following environment settings must be supplied:
# Salt to encrypt JWT payload
export CONSOLE_PBKDF_PASSPHRASE=SECRET
# Required to encrypt JWT payload
export CONSOLE_PBKDF_SALT=SECRET
# MinIO Endpoint
export CONSOLE_MINIO_SERVER=http://localhost:9000
Now start the console service:
./console server
By default, the console runs on port 9090. This can be changed with the --port option.
Starting Console Service with TLS
Copy your public.crt and private.key to ~/.console/certs, then run:
./console server
The console will then serve on https://[::]:9443 in addition to HTTP.
Connect Console to a MinIO using TLS and a Self-Signed Certificate
Copy the MinIO ca.crt under ~/.console/certs/CAs, then:
export CONSOLE_MINIO_SERVER=https://localhost:9000
./console server
Why Use openmaxio-object-browser?
- Community-Driven: This project is a community-maintained fork, ensuring its development is guided by user needs and open-source principles.
- Restores Key Features: It brings back functionalities that were removed from the original MinIO open-source distribution, providing a more complete and versatile UI.
- Fully Open and Functional:
openmaxio-object-browseris committed to remaining fully open-source, offering a production-grade object storage server UI without commercial licensing restrictions on core capabilities. - Enhanced Management: Provides a graphical interface for managing MinIO deployments, simplifying tasks like object browsing, bucket creation, and policy management.
Links
- GitHub Repository: https://github.com/OpenMaxIO/openmaxio-object-browser