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.
 
 
 
 
 
 
karthic rao 9baf599c91 tests: Unit tests and fixes for copyBuffer. (#2333) 8 years ago
.github Created ISSUE_TEMPLATE with basic information 9 years ago
buildscripts filter GOPATH from stack trace (#1755) 9 years ago
dist Tool for running benchmark comparison of 2 commits (#2161) 8 years ago
docs Doc: Replaced README & FreeBSD docs with updated minio server splash (#2298) 8 years ago
pkg optimize memory allocation during erasure-read by using temporary buffer pool. (#2259) 8 years ago
vendor Switched to faster minio/sha256-simd implementation (#2320) 8 years ago
.gitignore Remove binary files from previous commit. 9 years ago
.mailmap
.mention-bot Add mention-bot config 9 years ago
.travis.yml tests: Add missing unit test for posix.ReadFile. (#2319) 8 years ago
CONTRIBUTING.md Minor changes to CONTIRBUTING.md instructions (#1403) 9 years ago
Dockerfile docker: Fix docker edge build 8 years ago
LICENSE
MAINTAINERS.md build: Add release builds, now generated with 'make release' 9 years ago
Makefile docker: Remove unneeded docker files and makefile tags. 9 years ago
NOTICE Fix typo 9 years ago
README.md docs: Fix startup message for server as well. 8 years ago
access-key.go server: Change color codes for headings and sub-headings. (#2197) 8 years ago
accesslog-handler.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
api-datatypes.go api: verify Location constraint for make bucket. (#1342) 9 years ago
api-errors.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
api-headers.go api: extract http headers with some supported header list. (#2268) 8 years ago
api-headers_test.go handlers: Cleanup time handlers helpers. 9 years ago
api-resources.go server: Remove deadcode/deprecated code. (#2088) 8 years ago
api-response-multipart.go API: add writePartTooSmallErrorResponse to extend standard error responses. (#2005) 9 years ago
api-response.go api: Requests should be differentiated if possible based on http router. (#2219) 8 years ago
api-router.go api: Implement bucket notification. (#2271) 8 years ago
appveyor.yml server: Remove deadcode/deprecated code. (#2088) 8 years ago
auth-handler.go api: use checkAuth now at PutBucket, DeleteBucket handlers. (#2225) 8 years ago
auth-handler_test.go api: Add bucket notification util tests. (#2289) 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 bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
bucket-handlers.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
bucket-notification-datatypes.go api: Notify events only if bucket notifications are set. (#2293) 8 years ago
bucket-notification-handlers.go browser: Object upload should save metadata and notify. (#2309) 8 years ago
bucket-notification-utils.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
bucket-notification-utils_test.go api: Add bucket notification util tests. (#2289) 8 years ago
bucket-policy-handlers.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
bucket-policy-handlers_test.go api: Add bucket notification util tests. (#2289) 8 years ago
bucket-policy-migrate.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
bucket-policy-parser.go api/bucket-policy: Add unit tests for more coverage, fixes couple of bugs. (#2055) 9 years ago
bucket-policy-parser_test.go api/bucket-policy: Add unit tests for more coverage, fixes couple of bugs. (#2055) 9 years ago
bucket-policy.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
build-constants.go filter GOPATH from stack trace (#1755) 9 years ago
certs.go getCertsPath should use getConfigPath instead of defaulting to users homedir. (#2039) 9 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 Adding return error value to checkPortAvailability to enable testing of function. Adding checkport_test.go to test checkPortAvailability. Updated server-main.go to use error value from checkPortAvailability and calls fatalIf if an error is returned. (#2322) 8 years ago
commands.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
config-migrate.go api: Implement bucket notification. (#2271) 8 years ago
config-old.go api: Implement bucket notification. (#2271) 8 years ago
config-v5.go api: Implement bucket notification. (#2271) 8 years ago
config.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
crossdomain-xml-handler.go handlers: Add 'crossdomain.xml' handler. (#2305) 8 years ago
damerau-levenshtein.go xl: Moved to minio/minio - fixes #1112 9 years ago
erasure-createfile.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
erasure-createfile_test.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
erasure-readfile.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
erasure-readfile_test.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
erasure-utils.go tests: Unit tests and fixes for copyBuffer. (#2333) 8 years ago
erasure-utils_test.go tests: Unit tests and fixes for copyBuffer. (#2333) 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
faulty-disk_test.go tests: Added GetObject, DeleteObject and PutObject unit-tests (#2222) 8 years ago
format-config-v1.go Heal corrupted formats of disks already containing objects (#2297) 8 years ago
format-config-v1_test.go Heal corrupted formats of disks already containing objects (#2297) 8 years ago
fs-createfile.go fs/XL: Return IncompleteBody{} error for short writes (#2228) 8 years ago
fs-v1-errors.go FS: check whether disk format is FS or not. (#2083) 8 years ago
fs-v1-metadata.go fs: Save metadata for objects in minioMetaBucket directory. (#2251) 8 years ago
fs-v1-metadata_test.go fs: Save metadata for objects in minioMetaBucket directory. (#2251) 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: Save metadata for objects in minioMetaBucket directory. (#2251) 8 years ago
fs-v1.go tests: Add missing unit test for posix.ReadFile. (#2319) 8 years ago
fs-v1_test.go server: Implement --ignore-disks for ignoring disks from healing. (#2158) 8 years ago
generic-handlers.go Limit POST form fields and file size + Generic Request Size limiter (#2317) 8 years ago
globals.go Limit POST form fields and file size + Generic Request Size limiter (#2317) 8 years ago
handler-utils.go Limit POST form fields and file size + Generic Request Size limiter (#2317) 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 server: Sort ips based on their last octet value. (#2198) 8 years ago
httprange.go placing the http range error in objct-api-errors. (#2150) 8 years ago
httprange_test.go XL/fs: GetObject should validate all its inputs. (#2142) 8 years ago
leak-detect_test.go api: Add bucket notification util tests. (#2289) 8 years ago
logger-amqp.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
logger-console-hook.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
logger-elasticsearch.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
logger-file-hook.go posix: Mkdir() and OpenFile() should honor umask. (#1972) 9 years ago
logger-redis.go XL/erasure: Remove deprecated copyN function. (#2288) 8 years ago
logger-syslog-hook_nix.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
logger-syslog-hook_windows.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
logger.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
logger_test.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
main.go api: Bucket notification add filter rules check and validate. (#2272) 8 years ago
main_test.go Migrate this project to minio micro services code 9 years ago
namespace-lock.go XL/PutObject: Add single putObject and multipart caching. (#2115) 8 years ago
namespace-lock_test.go tests: Remove racey failedDisks behavior in RenameObject tests. (#2138) 8 years ago
notifier.go server: terminal width should fallback to 80x25. (#1895) 9 years ago
object-api-getobject_test.go Get Object disk not found test (#2264) 8 years ago
object-api-getobjectinfo_test.go organizing the benchmarks in the right test files (#2154) 8 years ago
object-api-listobjects_test.go tests: Using listObjects clean up remaining tree walk go routines. (#2278) 8 years ago
object-api-multipart_test.go XL: erasure Index should have its corresponding distribution order. (#2300) 8 years ago
object-api-putobject_test.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 8 years ago
object-common.go fs: Save metadata for objects in minioMetaBucket directory. (#2251) 8 years ago
object-datatypes.go XL: GetObjectInfo() store and retrieve user-defined object metadata. (#2189) 8 years ago
object-errors.go placing the http range error in objct-api-errors. (#2150) 8 years ago
object-handlers-common.go API/CopyObject: Refactor the code and handle if-modified-since as well. (#2183) 8 years ago
object-handlers.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
object-interface.go XL: bring in new storage API. (#1780) 9 years ago
object-multipart-common.go XL: Relax write quorum further to N/2 + 1. (#2018) 9 years ago
object-utils.go api: Implement bucket notification. (#2271) 8 years ago
object-utils_test.go utils: BucketNames with double periods and ip address should be rejected. (#2213) 8 years ago
object_api_suite_test.go Object layer tests revamp for individual execution (#2134) 8 years ago
posix-dirent-fileno.go xl/fs: Split object layer into interface. (#1415) 9 years ago
posix-dirent-ino.go xl/fs: Split object layer into interface. (#1415) 9 years ago
posix-list-dir-nix.go logging: Log only for unhandled errors, remove all the debug logging. (#1652) 9 years ago
posix-list-dir-others.go posix: Re-do tests for readDir(). (#1996) 9 years ago
posix-list-dir_test.go posix: Re-do tests for readDir(). (#1996) 9 years ago
posix-prepare-path.go posix: Support UNC paths on windows. (#1887) 9 years ago
posix-utils_common.go posix: Support UNC paths on windows. (#1887) 9 years ago
posix-utils_nix.go XL: allow meta bucket name appended with tmp meta prefix. (#2007) 9 years ago
posix-utils_nix_test.go posix: Mkdir() and OpenFile() should honor umask. (#1972) 9 years ago
posix-utils_test.go XL: allow meta bucket name appended with tmp meta prefix. (#2007) 9 years ago
posix-utils_windows.go posix-utils: fix path handling in windows. (#2053) 9 years ago
posix-utils_windows_test.go tests: add unit test for posix functions. (#2037) 8 years ago
posix.go tests: Add missing unit test for posix.ReadFile. (#2319) 8 years ago
posix_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
queues.go api: Notify events only if bucket notifications are set. (#2293) 8 years ago
queues_test.go api: Add bucket notification util tests. (#2289) 8 years ago
rate-limit-handler.go Rate limit is working and supports limited waiting clients (#2295) 8 years ago
routers.go bucket-policy: Migrate bucket policy to minioMetaBuket/buckets (#2321) 8 years ago
rpc-client.go Misspell warnings fix (#2001) 9 years ago
rpc-server-datatypes.go XL: Implement new ReadAll API for files which are read in single call. (#1974) 9 years ago
rpc-server.go XL: Implement new ReadAll API for files which are read in single call. (#1974) 9 years ago
runtime-checks.go main: minio --help should print regardless of root. (#1985) 9 years ago
server-main.go server: set globalCacheSize honoring system limits for max memory. (#2332) 8 years ago
server-mux.go Server http and https on the same port using a customized server (#2247) 8 years ago
server-rlimit-nix.go server: set globalCacheSize honoring system limits for max memory. (#2332) 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 XL: erasure Index should have its corresponding distribution order. (#2300) 8 years ago
server_utils_test.go xl/tests: Enable server handler tests over XL. (#1512) 9 years ago
signals.go FS: remove .minio directory if .minio/multipart is empty. (#1899) 9 years ago
signature-jwt.go vendorize: update all vendorized packages. (#2206) 8 years ago
signature-jwt_test.go api: Add bucket notification util tests. (#2289) 8 years ago
signature-v4-parser.go error: Signature errors should be returned with APIErrorCode. 9 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-utils.go Switched to faster minio/sha256-simd implementation (#2320) 8 years ago
signature-v4.go Switched to faster minio/sha256-simd implementation (#2320) 8 years ago
signature-v4_test.go tests: Add urlEncode tests. (#2078) 8 years ago
signature-verify-reader.go Switched to faster minio/sha256-simd implementation (#2320) 8 years ago
storage-datatypes.go docs: Add comments for each data types. (#1881) 9 years ago
storage-errors.go posix: Return errDiskNotWritable during disk initialization. (#2048) 9 years ago
storage-interface.go XL: Implement new ReadAll API for files which are read in single call. (#1974) 9 years ago
strconv-bytes.go XL: GetObject caching implemented for XL. (#2017) 8 years ago
strconv-bytes_test.go XL: GetObject caching implemented for XL. (#2017) 8 years ago
test-utils_test.go tests: Unit tests and fixes for copyBuffer. (#2333) 8 years ago
tree-walk-pool.go XL/tree-walk: Added comments, changed variable names and structure fields to improve code readability. (#1856) 9 years ago
tree-walk-pool_test.go Added unit-tests for treeWalkPool (#1969) 9 years ago
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 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
trie.go Add trie to verify wrong inputs, and provide meaningful messages 9 years ago
typed-errors.go Limit POST form fields and file size + Generic Request Size limiter (#2317) 8 years ago
update-main.go server: Add update referral for update notification URL. (#2308) 8 years ago
utils.go api: xmlDecoder should honor contentLength. (#2226) 8 years ago
version-main.go console: Fix console color printing on windows. 9 years ago
version_test.go Move all server and controller packages into top-level 9 years ago
web-handlers.go browser: Object upload should save metadata and notify. (#2309) 8 years ago
web-router.go xl/fs: Split object layer into interface. (#1415) 9 years ago
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 server: Remove deadcode/deprecated code. (#2088) 8 years ago
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: listOnlineDisks should use modTime instead of version. (#2166) 8 years ago
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 tests: improve unit tests for xl-v1-metadata. (#2172) 8 years ago
xl-v1-multipart-common.go XL: Operations on `uploads.json` should cater for disk being unavailable. (#2277) 8 years ago
xl-v1-multipart.go XL/Erasure: Make bit-rot verification based on xl.json algo. (#2299) 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 tests: Added GetObject, DeleteObject and PutObject unit-tests (#2222) 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 Heal corrupted formats of disks already containing objects (#2297) 8 years ago
xl-v1_test.go XL: Remove deadcode unionChecksumInfo. (#2261) 8 years ago

README.md

Minio Quickstart Guide Gitter

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