You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Jesse Lucas 0b7dfab17a Refactoring MuxServer Close() method to always wait for conns to close before returning. Adding lock around ServerMux listener setting to protect against data race. Adding additional tests to server-mux_test.go to make sure open connections are closed and for ListenAndServe. (#2467) 8 years ago
.github
buildscripts Update how-to-install-golang URL (#2406) 8 years ago
dist typo: Fix typos across the codebase. (#2442) 8 years ago
docs typo: Fix typos across the codebase. (#2442) 8 years ago
pkg build: Add platform specific fixes. 8 years ago
vendor vendor: sha256 32bit updated. (#2459) 8 years ago
.gitignore api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
.mailmap
.mention-bot
.travis.yml Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
CONTRIBUTING.md api/handlers: Implement streaming signature v4 support. (#2370) 8 years ago
Dockerfile
LICENSE
MAINTAINERS.md
Makefile vendor: sha256 32bit updated. (#2459) 8 years ago
NOTICE
README.md Added Goreportcard badge. 8 years ago
access-key.go
api-datatypes.go
api-errors.go presignV4: fix errors response and tests. (#2375) 8 years ago
api-headers.go api: extract http headers with some supported header list. (#2268) 8 years ago
api-headers_test.go
api-resources.go
api-response-multipart.go
api-response.go api: Requests should be differentiated if possible based on http router. (#2219) 8 years ago
api-router.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
appveyor.yml api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
auth-handler.go api/handlers: Implement streaming signature v4 support. (#2370) 8 years ago
auth-handler_test.go api/handlers: Implement streaming signature v4 support. (#2370) 8 years ago
benchmark-utils_test.go Remove consuming benchmarks, clean up closures, correct Get and PutObject Parallel benchmarks (#2258) 8 years ago
bucket-handlers-listobjects.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
bucket-handlers.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
bucket-notification-datatypes.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
bucket-notification-handlers.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
bucket-notification-handlers_test.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
bucket-notification-utils.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
bucket-notification-utils_test.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
bucket-policy-handlers.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
bucket-policy-handlers_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
bucket-policy-migrate.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
bucket-policy-parser.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
bucket-policy-parser_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
bucket-policy.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
build-constants.go
certs.go
certs_test.go tests: add tests for certs.go and trie.go (#2394) 8 years ago
checkport.go Refactoring checkPortAvailability to check each tcp network (tcp, tcp4, tcp6) if a port is taken. (#2325) 8 years ago
checkport_test.go tests: Make sure we try tests on free ports. (#2402) 8 years ago
commands.go
config-migrate.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
config-old.go Routing key was misspelled as routine key (#2430) 8 years ago
config-v6.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
config.go
crossdomain-xml-handler.go handlers: Add 'crossdomain.xml' handler. (#2305) 8 years ago
damerau-levenshtein.go
damerau-levenshtein_test.go Add tests for Damerau Levenshtein algorithm (#2407) 8 years ago
erasure-createfile.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
erasure-createfile_test.go clean up: ineffassign fixes (#2411) 8 years ago
erasure-readfile.go bug-fix: fix for tests failure when cache is disabled (#2439) 8 years ago
erasure-readfile_test.go bug-fix: fix for tests failure when cache is disabled (#2439) 8 years ago
erasure-utils.go tests: Unit tests and fixes for copyBuffer. (#2333) 8 years ago
erasure-utils_test.go clean up: ineffassign fixes (#2411) 8 years ago
erasure_test.go Tests: Cleanup/Enhancement: Add few more cases to posix.ReadFile tests and use a cleaner posixTestSetup for posix tests (#2330) 8 years ago
event-notifier.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
event-notifier_test.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
faulty-disk_test.go tests: Added GetObject, DeleteObject and PutObject unit-tests (#2222) 8 years ago
format-config-v1.go Heal format by inspection should avoid picking minioMetaBucket dir if the latter comes first in the list (listDir not ordered) (#2426) 8 years ago
format-config-v1_test.go Add test for fresh disks healing (#2424) 8 years ago
fs-createfile.go fs/XL: Return IncompleteBody{} error for short writes (#2228) 8 years ago
fs-v1-errors.go
fs-v1-metadata.go fs: Enable fs.json with env MINIO_ENABLE_FSMETA 8 years ago
fs-v1-metadata_test.go tests: Fix hasExtendedHeader tests with env variable. 8 years ago
fs-v1-multipart-common.go tests: xl-v1-metadata.go, xl-v1-multipart-common.go - remove unused methods, add enhance tests to improve code coverage. (#2260) 8 years ago
fs-v1-multipart.go fs/multipart: save metadata(fs.json) for multipart uploads. (#2450) 8 years ago
fs-v1.go fs/delete-object: fs.json filepath was incorrect. (#2448) 8 years ago
fs-v1_test.go
generic-handlers.go redirect-middleware: Redirect to /minio only if client is a browser and the request is not V4 signed. (#2469) 8 years ago
globals.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
handler-utils.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
handler-utils_test.go api: Add bucket notification util tests. (#2289) 8 years ago
host-to-ip.go XL: Remove deadcode unionChecksumInfo. (#2261) 8 years ago
host-to-ip_test.go
httprange.go
httprange_test.go
leak-detect_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
logger-console-hook.go
logger-file-hook.go
logger-syslog-hook_nix.go
logger-syslog-hook_windows.go
logger.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
logger_test.go
main.go Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
main_test.go
namespace-lock.go
namespace-lock_test.go
notifiers.go api: Change listen bucket notification to be TopicConfiguration. (#2447) 8 years ago
notifiers_test.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
notify-amqp.go Routing key was misspelled as routine key (#2430) 8 years ago
notify-elasticsearch.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
notify-redis.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
object-api-getobject_test.go Get Object disk not found test (#2264) 8 years ago
object-api-getobjectinfo_test.go
object-api-listobjects_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
object-api-multipart_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
object-api-putobject_test.go typo: Fix typos across the codebase. (#2442) 8 years ago
object-common.go Add a generic registerShutdown function for graceful exit (#2344) 8 years ago
object-datatypes.go
object-errors.go
object-handlers-common.go
object-handlers.go api: refactor the bucket policy reading and writing. (#2395) 8 years ago
object-handlers_test.go tests: object handlers: Unit tests for Get and Copy Object handlers (#2451) 8 years ago
object-interface.go Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
object-multipart-common.go
object-utils.go api: Implement bucket notification. (#2271) 8 years ago
object-utils_test.go
object_api_suite_test.go
posix-dirent-fileno.go
posix-dirent-ino.go
posix-list-dir-nix.go
posix-list-dir-others.go
posix-list-dir_test.go
posix-prepare-path.go
posix-utils_common.go
posix-utils_nix.go
posix-utils_nix_test.go
posix-utils_test.go
posix-utils_windows.go
posix-utils_windows_test.go
posix.go posix: Disk free verification should have relaxed handling of inodes. (#2431) 8 years ago
posix_test.go tests: posix: tests cleaning up and enhancing coverage. (#2410) 8 years ago
rate-limit-handler.go Rate limit is working and supports limited waiting clients (#2295) 8 years ago
routers.go Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
rpc-client.go
rpc-server-datatypes.go
rpc-server.go
runtime-checks.go
server-main.go Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
server-mux.go Refactoring MuxServer Close() method to always wait for conns to close before returning. Adding lock around ServerMux listener setting to protect against data race. Adding additional tests to server-mux_test.go to make sure open connections are closed and for ListenAndServe. (#2467) 8 years ago
server-mux_test.go Refactoring MuxServer Close() method to always wait for conns to close before returning. Adding lock around ServerMux listener setting to protect against data race. Adding additional tests to server-mux_test.go to make sure open connections are closed and for ListenAndServe. (#2467) 8 years ago
server-rlimit-nix.go build: Add platform specific fixes. 8 years ago
server-rlimit-win.go server: set globalCacheSize honoring system limits for max memory. (#2332) 8 years ago
server-startup-msg.go docs: Fix startup message for server as well. 8 years ago
server_test.go tests: object handlers: Unit tests for Get and Copy Object handlers (#2451) 8 years ago
server_utils_test.go
signals.go
signature-jwt.go
signature-jwt_test.go api: Add bucket notification util tests. (#2289) 8 years ago
signature-v4-parser.go presignV4: fix errors response and tests. (#2375) 8 years ago
signature-v4-parser_test.go presignV4: fix errors response and tests. (#2375) 8 years ago
signature-v4-postpolicyform.go POST Policy, multiple fixes: AccessDenied with unmet conditions, ${filename} in Key, missing filename in multipart (#2304) 8 years ago
signature-v4-postpolicyform_test.go Test Post policy parsing and checking conditions (#2408) 8 years ago
signature-v4-utils.go typo: Fix typos across the codebase. (#2442) 8 years ago
signature-v4-utils_test.go clean up: ineffassign fixes (#2411) 8 years ago
signature-v4.go presignV4: fix errors response and tests. (#2375) 8 years ago
signature-v4_test.go tests: add tests for signature-v4.go (#2458) 8 years ago
signature-verify-reader.go Switched to faster minio/sha256-simd implementation (#2320) 8 years ago
storage-datatypes.go
storage-errors.go
storage-interface.go
strconv-bytes.go
strconv-bytes_test.go
streaming-signature-v4.go presignV4: fix errors response and tests. (#2375) 8 years ago
streaming-signature-v4_test.go api/handlers: Implement streaming signature v4 support. (#2370) 8 years ago
test-utils_test.go tests: object handlers: Unit tests for Get and Copy Object handlers (#2451) 8 years ago
tree-walk-pool.go
tree-walk-pool_test.go
tree-walk.go tree-walk: optimize tree walk such that leaf detection of entries is delayed till the entry is sent on the treeWalkResult channel. (#2220) 8 years ago
tree-walk_test.go clean up: ineffassign fixes (#2411) 8 years ago
trie.go
trie_test.go tests: add tests for certs.go and trie.go (#2394) 8 years ago
typed-errors.go Add a generic registerShutdown function for graceful exit (#2344) 8 years ago
update-main.go server: Add update referral for update notification URL. (#2308) 8 years ago
update-notifier.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
utils.go utils: Shutdown channel should be bufferred. 8 years ago
utils_test.go utils: Fix unit tests issue. (#2441) 8 years ago
version-main.go
version_test.go
web-handlers.go api: Add new ListenBucketNotificationHandler. (#2336) 8 years ago
web-handlers_test.go tests: Web handlers (#2429) 8 years ago
web-router.go
xl-v1-bucket.go XL: Operations on `uploads.json` should cater for disk being unavailable. (#2277) 8 years ago
xl-v1-common.go XL: Do not rely on getLoadBalancedQuorumDisks for NS consistency. (#2243) 8 years ago
xl-v1-errors.go
xl-v1-healing.go Removing readAllMeta from xl-v1-healing.go and placing it in xl-v1-utils.go (#2296) 8 years ago
xl-v1-healing_test.go
xl-v1-list-objects.go XL: Do not rely on getLoadBalancedQuorumDisks for NS consistency. (#2243) 8 years ago
xl-v1-metadata.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
xl-v1-metadata_test.go
xl-v1-multipart-common.go XL: Operations on `uploads.json` should cater for disk being unavailable. (#2277) 8 years ago
xl-v1-multipart.go typo: Fix typos across the codebase. (#2442) 8 years ago
xl-v1-object.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
xl-v1-object_test.go clean up: ineffassign fixes (#2411) 8 years ago
xl-v1-utils.go Removing readAllMeta from xl-v1-healing.go and placing it in xl-v1-utils.go (#2296) 8 years ago
xl-v1-utils_test.go XL: Remove deadcode unionChecksumInfo. (#2261) 8 years ago
xl-v1.go Protect shutdown callbacks lists with a mutex (#2432) 8 years ago
xl-v1_test.go XL: Remove deadcode unionChecksumInfo. (#2261) 8 years ago

README.md

Minio Quickstart Guide Gitter codecov Go Report Card

Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB.

1. Download

Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL.

Platform Architecture URL
GNU/Linux 64-bit Intel https://dl.minio.io/server/minio/release/linux-amd64/minio
32-bit Intel https://dl.minio.io/server/minio/release/linux-386/minio
32-bit ARM https://dl.minio.io/server/minio/release/linux-arm/minio
Apple OS X 64-bit Intel https://dl.minio.io/server/minio/release/darwin-amd64/minio
Microsoft Windows 64-bit https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
32-bit https://dl.minio.io/server/minio/release/windows-386/minio.exe
FreeBSD 64-bit https://dl.minio.io/server/minio/release/freebsd-amd64/minio

Install from Source

Source installation is only intended for developers and advanced users. If you do not have a working Golang environment, please follow How to install Golang.


$ go get -d github.com/minio/minio
$ cd $GOPATH/src/github.com/minio/minio
$ make

2. Run Minio Server

GNU/Linux


$ chmod +x minio
$ ./minio --help
$ ./minio server ~/Photos

Endpoint:  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000
AccessKey: USWUXHGYZQYFYFFIT3RE
SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
Region:    us-east-1

Browser Access:
  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03

Object API (Amazon S3 compatible):
  Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
  Java:       https://docs.minio.io/docs/java-client-quickstart-guide
  Python:     https://docs.minio.io/docs/python-client-quickstart-guide
  JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide

OS X


$ chmod 755 minio
$ ./minio --help
$ ./minio server ~/Photos

Endpoint:  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000
AccessKey: USWUXHGYZQYFYFFIT3RE
SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
Region:    us-east-1

Browser Access:
  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03

Object API (Amazon S3 compatible):
  Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
  Java:       https://docs.minio.io/docs/java-client-quickstart-guide
  Python:     https://docs.minio.io/docs/python-client-quickstart-guide
  JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide

Microsoft Windows


C:\Users\Username\Downloads> minio.exe --help
C:\Users\Username\Downloads> minio.exe server D:\Photos

Endpoint:  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000
AccessKey: USWUXHGYZQYFYFFIT3RE
SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
Region:    us-east-1

Browser Access:
   http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
   $ mc.exe config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03

Object API (Amazon S3 compatible):
   Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
   Java:       https://docs.minio.io/docs/java-client-quickstart-guide
   Python:     https://docs.minio.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide


Docker Container


$ docker pull minio/minio
$ docker run -p 9000:9000 minio/minio

FreeBSD


$ chmod 755 minio
$ ./minio --help
$ ./minio server ~/Photos

Endpoint:  http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000
AccessKey: USWUXHGYZQYFYFFIT3RE
SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
Region:    us-east-1

Browser Access:
   http://10.0.0.10:9000  http://127.0.0.1:9000  http://172.17.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
   $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03

Object API (Amazon S3 compatible):
   Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
   Java:       https://docs.minio.io/docs/java-client-quickstart-guide
   Python:     https://docs.minio.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide


3. Test Minio Server using Minio Browser

Open a web browser and navigate to http://127.0.0.1:9000 to view your buckets on minio server.

Screenshot

4. Test Minio Server using mc

Install mc from here. Use mc ls command to list all the buckets on your minio server.


$ mc ls myminio/
[2015-08-05 08:13:22 IST]     0B andoria/
[2015-08-05 06:14:26 IST]     0B deflector/
[2015-08-05 08:13:11 IST]     0B ferenginar/
[2016-03-08 14:56:35 IST]     0B jarjarbing/
[2016-01-20 16:07:41 IST]     0B my.minio.io/

For more examples please navigate to Minio Client Complete Guide.

5. Explore Further

6. Contribute to Minio Project

Please follow Minio Contributor's Guide