rzrbld / adminio-ui Goto Github PK
View Code? Open in Web Editor NEWa simple admin ui for min.io (minio) s3 server
License: MIT License
a simple admin ui for min.io (minio) s3 server
License: MIT License
Hi,
following this guide i am trying to setup retention policies for a minio bucket:
https://docs.min.io/docs/minio-bucket-lifecycle-guide.html
in the example above they use JSON as a format to define a lifecycle, but adminio-ui only accepts .lifecycle or .xml files. IS it possible to expand it to JSON?
what is a .lifecycle format and how to convert JSON into it?
thank you
Hey, I've tried bringing up your admin-ui with api on Kubernetes and I'm constantly failing.
I've downloaded the latest Docker images of adminio-ui
and adminio-api
and configured the ENV-variables in the Kubernetes YML manifests. I'm 100% sure the manifests are correctly configured but I can't get it to work.
When I exec
to the UI-container (UI and API are running in same Pod for convenience reasons atm) I can't reach localhost:8080
although I opened the containerPort
. curl
simply tells me Not found when I call it.
Do I need to inject the ENV variables before Runtime? Do I need to download the whole project and build it with a modified Dockerfile?
I have been looking to access the aminio-ui via HTTPS but have been unsuccessful. It is possible to add certificates and use TLS with minio itself but accessing the adminio-ui is still via http. I've tried to add the certificates to /etc/ngnix/certs via a mounted volume but that does not seem to work.
It would be cool if we had an option to add certificates and enable TLS from an environment variable.
In the video, it shows an edit screen for a bucket so as to set the lifecycle policy https://raw.githubusercontent.com/rzrbld/adminio-ui/master/images/image.gif
I built the current version on https://github.com/rzrbld/adminio-ui, but I don't seem to have this feature.
How to enable this edit bucket feature?
I can set the permissions from the command line, eg "mc policy set public test/new"
I'm new to this project, so sorry in advance if this is some basic question I missed in the documentation.
I'd like to not expose adminio on a subdomain but as a route through a nginx proxy. In nginx, I can do:
upstream adminio {
server adminio:80;
}
location /adminio {
return 302 $uri/;
}
location /adminio/ {
client_max_body_size 1M;
rewrite ^/adminio/(.*)$ /$1 break;
proxy_pass http://adminio/;
add_header Set-Cookie X-APP-NAME=adminio;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
#include /app/conf.d/basic.auth;
}
Which proxies adminio inside Docker from a server to the UI.
But when we do this, the UI wants to find the files at the root:
Loading module from “https://example.com/runtime-es2015.js” was blocked because of a disallowed MIME type (“text/html”).
The minor HTML fix is to use the base attribute in head:
<head>
<base href="/adminio/">
</head>
Then make sure every link in the UI uses relative urls
https://www.w3schools.com/tags/tag_base.asp
for angular, it looks like:
https://stackoverflow.com/questions/55705637/how-to-set-base-url-for-angular-application
You'd probably just need an environment variable like:
APP_UI_BASE="/"
hello,
i have a correct setup of adminio API + UI and everything seems to work fine, but i am wondering if and how can i manually upload files in existing buckets from the GUI.
let me know if possible
Right now, the environment variables are gathered at build-time. It would be really usefull to be able to modify values at run-time.
My usage : release-1.0 image in a k8s deployment.
Found https://www.jvandemo.com/how-to-use-environment-variables-to-configure-your-angular-application-without-a-rebuild/ as a possible solution.
Nevertheless, I want to thank for the great job on this app !
Great project! Wanted to check if you have any plans to support Authentication/Authorization
I can PR this if you let me know where, but otherwise, here is a "production" setup of the components which uses Traefik (v1.7) and avoids the entire cors thing. The following stack exposes the api component on a /api
route via a PathPrefix
with Traefik. And Traefik takes care of all the SSL, so there's nothing here.
If you remove the deploy:
bit, this also works with Docker Compose.
Requirements:
public
for traefik/ingressversion: '3.7'
networks:
public:
external: true
name: public
services:
adminio-api:
deploy:
labels:
traefik.docker.network: public
traefik.enable: "true"
traefik.frontend.passHostHeader: "true"
traefik.frontend.rule: "Host:adminio-host.example.org; PathPrefix:/api"
traefik.port: '8080'
environment:
ADMINIO_BACKENDS: '[{"name":"foo","url":"http://localhost:8080"}]'
ADMINIO_HOST_PORT: 0.0.0.0:8080
MINIO_ACCESS: access_key
MINIO_HOST_PORT: minio_server:443
MINIO_SECRET: secret
MINIO_SSL: "true"
image: rzrbld/adminio-api:release-1.6
networks:
public: {}
adminio-ui:
deploy:
labels:
traefik.docker.network: 'public'
traefik.enable: "true"
traefik.frontend.passHostHeader: 'true'
traefik.frontend.rule: Host:adminio-host.example.org
traefik.port: '80'
environment:
ADMINIO_MULTI_BACKEND: "false"
ADMINIO_PROD: "true"
API_BASE_URL: https://adminio-host.example.org
image: rzrbld/adminio-ui:latest
networks:
public: {}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.