``MinIO Browser`` provides minimal set of UI to manage buckets and objects on ``minio`` server. ``MinIO Browser`` is written in javascript and released under [Apache 2.0 License](./LICENSE).
``MinIO Browser`` provides minimal set of UI to manage buckets and objects on ``minio`` server. ``MinIO Browser`` is written in javascript and released under [Apache 2.0 License](./LICENSE).
## Installation
## Installation
### Install node
### Install node
@ -35,13 +36,16 @@ npm run release
This generates ui-assets.go in the current directory. Now do `make` in the parent directory to build the minio binary with the newly generated ``ui-assets.go``
This generates ui-assets.go in the current directory. Now do `make` in the parent directory to build the minio binary with the newly generated ``ui-assets.go``
## Run MinIO Browser with live reload
### Run MinIO Browser with live reload
### Run MinIO Browser with live reload
```sh
```sh
npm run dev
npm run dev
```
```
Open [http://localhost:8080/minio/](http://localhost:8080/minio/) in your browser to play with the application
Open [http://localhost:8080/minio/](http://localhost:8080/minio/) in your browser to play with the application.
### Run MinIO Browser with live reload on custom port
### Run MinIO Browser with live reload on custom port
@ -59,7 +63,7 @@ index 3ccdaba..9496c56 100644
+ port: 8888,
+ port: 8888,
proxy: {
proxy: {
'/minio/webrpc': {
'/minio/webrpc': {
target: 'http://localhost:9000',
target: 'http://localhost:9000',
@@ -97,7 +98,7 @@ var exports = {
@@ -97,7 +98,7 @@ var exports = {
if (process.env.NODE_ENV === 'dev') {
if (process.env.NODE_ENV === 'dev') {
exports.entry = [
exports.entry = [
@ -75,7 +79,7 @@ index 3ccdaba..9496c56 100644
npm run dev
npm run dev
```
```
Open [http://localhost:8888/minio/](http://localhost:8888/minio/) in your browser to play with the application
Open [http://localhost:8888/minio/](http://localhost:8888/minio/) in your browser to play with the application.
### Run MinIO Browser with live reload on any IP
### Run MinIO Browser with live reload on any IP
@ -93,12 +97,84 @@ index 8bdbba53..139f6049 100644
+ host: '0.0.0.0',
+ host: '0.0.0.0',
proxy: {
proxy: {
'/minio/webrpc': {
'/minio/webrpc': {
target: 'http://localhost:9000',
target: 'http://localhost:9000',
```
```sh
npm run dev
```
```
Open [http://IP:8080/minio/](http://IP:8080/minio/) in your browser to play with the application.
## Run tests
npm run test
## Docker development environment
This approach will download the sources on your machine such that you are able to use your IDE or editor of choice.
A Docker container will be used in order to provide a controlled build environment without messing with your host system.
### Prepare host system
Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [Docker](https://docs.docker.com/get-docker/).
docker run -it --rm --name minio-dev -v "$PWD":/minio minio-dev
cd /minio/browser
npm install
npm run release
cd /minio
make
./minio server /data
```
Note `Endpoint` IP (the one which is _not_`127.0.0.1`), `AccessKey` and `SecretKey` (both default to `minioadmin`) in order to enter them in the browser later.
Open another terminal.
Connect to container
```sh
docker exec -it minio-dev bash
```
Apply patch to allow access from outside container