Skip to content

rzrbld/adminio-ui

Repository files navigation

Adminio-ui

This is a Web UI for minio s3 server. Web UI works on top of REST API - adminio-API Build with Angular and mdbootstrap

Docker hub stats GitHub License

screenshot1

Web UI abilities:

Kind Create List Update Delete
Bucket V V add/remove events, change lifecycle, manage quota, tags, policy V
User V V update password, change policy V
Policy V V V V
Group V V add users to group, remove users, change policy only if group is empty (has no members)

Extra features:

  • create multiple buckets at once
  • fully editable policy constructor
  • copy policies
  • upload and download bucket lifecycles and policies
  • bucket quota

Run full stack demo

docker-compose -f docker-compose.yml up

it will bring up:

  • minio server on 9000 port
  • adminio API on 8080 port
  • adminio UI on 80 port

after that you can go to http://localhost and try out

Run in docker

Before running make sure that you minio server and adminio-api is started.

docker run rzrbld/adminio-ui:latest

This example run only for test purposes, unless you running UI and API of adminio on the same server.

Run in real environment

Docker

Environment Description Default
API_BASE_URL adminio-api REST endpoint http://localhost:8080
ADMINIO_PROD production mode, can be true or false false
ADMINIO_MULTI_BACKEND multibackend mode, can be true or false false
ADMINIO_BACKENDS json obj with names and urls of all you adminio-api instances [{"name":"myminio","url":"http://localhost:8080"},{"name":"localhost","url":"http://localhost:8081"},{"name":"error","url":"http://localhost:8082"}]
NGX_ROOT_PATH nginx location variable /
NGX_PORT nginx port variable 80

In real life cases you'll need to change this environment variables at Dockerfile - API_BASE_URL which points to adminio-api REST endpoint and ADMINIO_PROD which can be set to true or false.

If you run multiple instances of adminio-api you can set ADMINIO_MULTI_BACKEND to true and fill ADMINIO_BACKENDS example with needed urls and names. Please note - in this case you still need points API_BASE_URL to one of this instances. And then build a docker image.

npm build

Method that described above also works if you build with npm run build. In this case example command will be look like this $ export API_BASE_URL=http://example.com:8099 && export ADMINIO_PROD=false && npm run build after that distributive can be obtained at ./dist folder.

ng build

If you build project with ng build you will need to set adminio-api REST endpoint at apiBaseUrl variable in file src/environments/environment.ts or src/environments/environment.prod.ts.

by default apiBaseUrl variable is set to http://localhost:8080.

Developement

npm start

in this case example command will be look like this - $ export API_BASE_URL=http://example.com:8099 && export ADMINIO_PROD=false && npm start it will bring up a dev server on port 4201. Navigate to http://localhost:4201/. The app will automatically reload if you change any of the source files.

ng serve

you will need to set adminio-api REST endpoint at apiBaseUrl variable in file src/environments/environment.ts or src/environments/environment.prod.ts then run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.