{"id":13489550,"url":"https://github.com/minio/console","last_synced_at":"2025-05-14T01:07:50.002Z","repository":{"id":37057705,"uuid":"252358889","full_name":"minio/console","owner":"minio","description":"Simple UI for MinIO Object Storage :abacus:","archived":false,"fork":false,"pushed_at":"2024-05-22T21:13:27.000Z","size":676298,"stargazers_count":790,"open_issues_count":33,"forks_count":261,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-05-22T21:56:46.040Z","etag":null,"topics":["console","go","golang","k8s","mc","minio","minio-client","minio-console","minio-server","minio-storage","operator","tls"],"latest_commit_sha":null,"homepage":"https://min.io/docs/minio/linux/index.html","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-02T04:55:44.000Z","updated_at":"2024-05-29T05:59:35.003Z","dependencies_parsed_at":"2023-10-24T17:35:54.410Z","dependency_job_id":"8b1587a4-3f3f-4fb5-8977-9196fa8731b4","html_url":"https://github.com/minio/console","commit_stats":{"total_commits":2076,"total_committers":45,"mean_commits":46.13333333333333,"dds":0.7745664739884393,"last_synced_commit":"2c84a52937ec071e2c196d7b7fd5d918a6b66b17"},"previous_names":["minio/mcs"],"tags_count":191,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minio%2Fconsole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minio%2Fconsole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minio%2Fconsole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minio%2Fconsole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minio","download_url":"https://codeload.github.com/minio/console/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154671,"owners_count":21056541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","go","golang","k8s","mc","minio","minio-client","minio-console","minio-server","minio-storage","operator","tls"],"created_at":"2024-07-31T19:00:30.727Z","updated_at":"2025-04-10T03:40:18.764Z","avatar_url":"https://github.com/minio.png","language":"TypeScript","readme":"# MinIO Console\n\n![build](https://github.com/minio/console/workflows/Go/badge.svg) ![license](https://img.shields.io/badge/license-AGPL%20V3-blue)\n\nA graphical user interface for [MinIO](https://github.com/minio/minio)\n\n| Object Browser                     | Dashboard                     | Creating a bucket             |\n|------------------------------------|-------------------------------|-------------------------------|\n| ![Object Browser](images/pic3.png) | ![Dashboard](images/pic1.png) | ![Dashboard](images/pic2.png) |\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --\u003e\n**Table of Contents**\n\n- [MinIO Console](#minio-console)\n  - [Install](#install)\n    - [Build from source](#build-from-source)\n  - [Setup](#setup)\n    - [1. Create a user `console` using `mc`](#1-create-a-user-console-using-mc)\n    - [2. Create a policy for `console` with admin access to all resources (for testing)](#2-create-a-policy-for-console-with-admin-access-to-all-resources-for-testing)\n    - [3. Set the policy for the new `console` user](#3-set-the-policy-for-the-new-console-user)\n  - [Start Console service:](#start-console-service)\n  - [Start Console service with TLS:](#start-console-service-with-tls)\n  - [Connect Console to a Minio using TLS and a self-signed certificate](#connect-console-to-a-minio-using-tls-and-a-self-signed-certificate)\n- [Contribute to console Project](#contribute-to-console-project)\n\n\u003c!-- markdown-toc end --\u003e\n\nMinIO Console is a library that provides a management and browser UI overlay for the MinIO Server.\n\n## Setup\n\nAll `console` needs is a MinIO user with admin privileges and URL pointing to your MinIO deployment.\n\n\u003e Note: We don't recommend using MinIO's Operator Credentials\n\n### 1. Create a user `console` using `mc`\n\n```bash\nmc admin user add myminio/\nEnter Access Key: console\nEnter Secret Key: xxxxxxxx\n```\n\n### 2. Create a policy for `console` with admin access to all resources (for testing)\n\n```sh\ncat \u003e admin.json \u003c\u003c EOF\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [{\n\t\t\t\"Action\": [\n\t\t\t\t\"admin:*\"\n\t\t\t],\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Sid\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"Action\": [\n                \"s3:*\"\n\t\t\t],\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": [\n\t\t\t\t\"arn:aws:s3:::*\"\n\t\t\t],\n\t\t\t\"Sid\": \"\"\n\t\t}\n\t]\n}\nEOF\n```\n\n```sh\nmc admin policy create myminio/ consoleAdmin admin.json\n```\n\n### 3. Set the policy for the new `console` user\n\n```sh\nmc admin policy attach myminio consoleAdmin --user=console\n```\n\n\u003e NOTE: Additionally, you can create policies to limit the privileges for other `console` users, for example, if you\n\u003e want the user to only have access to dashboard, buckets, notifications and watch page, the policy should look like\n\u003e this:\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Action\": [\n        \"admin:ServerInfo\"\n      ],\n      \"Effect\": \"Allow\",\n      \"Sid\": \"\"\n    },\n    {\n      \"Action\": [\n        \"s3:ListenBucketNotification\",\n        \"s3:PutBucketNotification\",\n        \"s3:GetBucketNotification\",\n        \"s3:ListMultipartUploadParts\",\n        \"s3:ListBucketMultipartUploads\",\n        \"s3:ListBucket\",\n        \"s3:HeadBucket\",\n        \"s3:GetObject\",\n        \"s3:GetBucketLocation\",\n        \"s3:AbortMultipartUpload\",\n        \"s3:CreateBucket\",\n        \"s3:PutObject\",\n        \"s3:DeleteObject\",\n        \"s3:DeleteBucket\",\n        \"s3:PutBucketPolicy\",\n        \"s3:DeleteBucketPolicy\",\n        \"s3:GetBucketPolicy\"\n      ],\n      \"Effect\": \"Allow\",\n      \"Resource\": [\n        \"arn:aws:s3:::*\"\n      ],\n      \"Sid\": \"\"\n    }\n  ]\n}\n```\n\n## Start Console service:\n\nBefore running console service, following environment settings must be supplied\n\n```sh\n# Salt to encrypt JWT payload\nexport CONSOLE_PBKDF_PASSPHRASE=SECRET\n\n# Required to encrypt JWT payload\nexport CONSOLE_PBKDF_SALT=SECRET\n\n# MinIO Endpoint\nexport CONSOLE_MINIO_SERVER=http://localhost:9000\n```\n\nNow start the console service.\n\n```\n./console server\n2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://localhost:9090\n```\n\nBy default `console` runs on port `9090` this can be changed with `--port` of your choice.\n\n## Start Console service with TLS:\n\nCopy your `public.crt` and `private.key` to `~/.console/certs`, then:\n\n```sh\n./console server\n2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://[::]:9090\n2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at https://[::]:9443\n```\n\nFor advanced users, `console` has support for multiple certificates to service clients through multiple domains.\n\nFollowing tree structure is expected for supporting multiple domains:\n\n```sh\n certs/\n  │\n  ├─ public.crt\n  ├─ private.key\n  │\n  ├─ example.com/\n  │   │\n  │   ├─ public.crt\n  │   └─ private.key\n  └─ foobar.org/\n     │\n     ├─ public.crt\n     └─ private.key\n  ...\n\n```\n\n## Connect Console to a Minio using TLS and a self-signed certificate\n\nCopy the MinIO `ca.crt` under `~/.console/certs/CAs`, then:\n\n```sh\nexport CONSOLE_MINIO_SERVER=https://localhost:9000\n./console server\n```\n\nYou can verify that the apis work by doing the request on `localhost:9090/api/v1/...`\n\n## Debug logging\n\nIn some cases it may be convenient to log all HTTP requests. This can be enabled by setting\nthe `CONSOLE_DEBUG_LOGLEVEL` environment variable to one of the following values:\n\n - `0` (default) uses no logging.\n - `1` log single line per request for server-side errors (status-code 5xx).\n - `2` log single line per request for client-side and server-side errors (status-code 4xx/5xx).\n - `3` log single line per request for all requests (status-code 4xx/5xx).\n - `4` log details per request for server-side errors (status-code 5xx).\n - `5` log details per request for client-side and server-side errors (status-code 4xx/5xx).\n - `6` log details per request for all requests (status-code 4xx/5xx).\n\n A single line logging has the following information:\n - Remote endpoint (IP + port) of the request. Note that reverse proxies may hide the actual remote endpoint of the client's browser.\n - HTTP method and URL\n - Status code of the response (websocket connections are hijacked, so no response is shown)\n - Duration of the request\n\nThe detailed logging also includes all request and response headers (if any).\n \n# Contribute to console Project\n\nPlease follow console [Contributor's Guide](https://github.com/minio/console/blob/master/CONTRIBUTING.md)\n","funding_links":[],"categories":["JavaScript","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminio%2Fconsole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminio%2Fconsole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminio%2Fconsole/lists"}