{"id":17558128,"url":"https://github.com/fractaledmind/minio-ruby","last_synced_at":"2025-04-06T22:18:30.961Z","repository":{"id":236989221,"uuid":"793576130","full_name":"fractaledmind/minio-ruby","owner":"fractaledmind","description":"Integrate minio with the RubyGems infrastructure.","archived":false,"fork":false,"pushed_at":"2024-05-02T09:47:37.000Z","size":58,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T04:29:51.012Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fractaledmind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-29T13:34:14.000Z","updated_at":"2025-01-29T20:07:48.000Z","dependencies_parsed_at":"2024-04-29T14:51:55.688Z","dependency_job_id":"5228b4e9-7033-438b-84f9-c0e5669630fa","html_url":"https://github.com/fractaledmind/minio-ruby","commit_stats":null,"previous_names":["fractaledmind/minio-ruby"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fractaledmind%2Fminio-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fractaledmind%2Fminio-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fractaledmind%2Fminio-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fractaledmind%2Fminio-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fractaledmind","download_url":"https://codeload.github.com/fractaledmind/minio-ruby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557749,"owners_count":20958047,"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":[],"created_at":"2024-10-21T09:43:19.170Z","updated_at":"2025-04-06T22:18:30.926Z","avatar_url":"https://github.com/fractaledmind.png","language":"Ruby","funding_links":["https://github.com/sponsors/fractaledmind"],"categories":[],"sub_categories":[],"readme":"# minio-ruby\n\n[MinIO](https://min.io) is an open-source S3-compatible object store. This gem provides a Ruby interface to MinIO.\n\n\u003cp\u003e\n  \u003ca href=\"https://rubygems.org/gems/minio\"\u003e\n  \u003cimg alt=\"GEM Version\" src=\"https://img.shields.io/gem/v/minio?color=168AFE\u0026include_prereleases\u0026logo=ruby\u0026logoColor=FE1616\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://rubygems.org/gems/minio\"\u003e\n    \u003cimg alt=\"GEM Downloads\" src=\"https://img.shields.io/gem/dt/minio?color=168AFE\u0026logo=ruby\u0026logoColor=FE1616\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/testdouble/standard\"\u003e\n    \u003cimg alt=\"Ruby Style\" src=\"https://img.shields.io/badge/style-standard-168AFE?logo=ruby\u0026logoColor=FE1616\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/fractaledmind/minio-ruby/actions/workflows/main.yml\"\u003e\n    \u003cimg alt=\"Tests\" src=\"https://github.com/fractaledmind/minio-ruby/actions/workflows/main.yml/badge.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/sponsors/fractaledmind\"\u003e\n    \u003cimg alt=\"Sponsors\" src=\"https://img.shields.io/github/sponsors/fractaledmind?color=eb4aaa\u0026logo=GitHub%20Sponsors\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://ruby.social/@fractaledmind\"\u003e\n    \u003cimg alt=\"Ruby.Social Follow\" src=\"https://img.shields.io/mastodon/follow/109291299520066427?domain=https%3A%2F%2Fruby.social\u0026label=%40fractaledmind\u0026style=social\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/fractaledmind\"\u003e\n    \u003cimg alt=\"Twitter Follow\" src=\"https://img.shields.io/twitter/url?label=%40fractaledmind\u0026style=social\u0026url=https%3A%2F%2Ftwitter.com%2Ffractaledmind\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Installation\n\nInstall the gem and add to the application's Gemfile by executing:\n\n```sh\nbundle add minio\n```\n\nIf bundler is not being used to manage dependencies, install the gem by executing:\n\n```sh\ngem install minio\n```\n\n### Using a local installation of `minio`\n\nIf you are not able to use the vendored standalone executables (for example, if you're on an unsupported platform), you can use a local installation of the `minio` executable by setting an environment variable named `MINIO_INSTALL_DIR` to the directory containing the executable.\n\nFor example, if you've installed `minio` so that the executable is found at `/usr/local/bin/minio`, then you should set your environment variable like so:\n\n``` sh\nMINIO_INSTALL_DIR=/usr/local/bin\n```\n\nThis also works with relative paths. If you've installed into your app's directory at `./.bin/minio`:\n\n``` sh\nMINIO_INSTALL_DIR=.bin\n```\n\n## Usage\n\n### Configuration\n\nYou can configure (if needed, this is optional) the `username` and `password` to secure the MinIO web dashboard. This Ruby interface permits you to use any method of storing secrets that you prefer. For example, you could store these secrets in Rails' encrypted credentials:\n\n```ruby\n# config/initializers/minio.rb\nminio_credentials = Rails.application.credentials.minio\nLitestream.configure do |config|\n  config.username = minio_credentials.username\n  config.password = minio_credentials.password\nend\n```\n\nThe default credentials that MinIO uses are `minioadmin` for both the username and password. If you are using the default credentials, you do not need to configure the `username` and `password` in the initializer, but you should absolutely change the default credentials in a production environment.\n\nIf you want, you can also configure the username and password via environment variables:\n\n```sh\nexport MINIO_ROOT_USER=frodo\nexport MINIO_ROOT_PASSWORD=ikeptmysecrets\n```\n\n### Running the server\n\nYou can start the MinIO server via the gem's rake task:\n\n```sh\nbin/rails minio:server\n# or\nbundle exec rake minio:server\n```\n\nIf you need to pass arguments through the rake task to the underlying `minio` command, that can be done with argument forwarding:\n\n```sh\nbin/rails minio:server -- --directory /mnt/data\n```\n\nThis example shows the special `--directory` option available on [the `server` command](https://min.io/docs/minio/linux/reference/minio-server/minio-server.html), which allows you to specify the directory where MinIO will store its data. By default, the gem will use the `storage/minio` directory in your Rails app.\n\nThe MinIO `server` command supports various additional options, which can be passed through the rake task:\n\n```sh\n--config value               specify server configuration via YAML configuration [$MINIO_CONFIG]\n--address value              bind to a specific ADDRESS:PORT, ADDRESS can be an IP or hostname (default: \":9000\") [$MINIO_ADDRESS]\n--console-address value      bind to a specific ADDRESS:PORT for embedded Console UI, ADDRESS can be an IP or hostname [$MINIO_CONSOLE_ADDRESS]\n--ftp value                  enable and configure an FTP(Secure) server\n--sftp value                 enable and configure an SFTP server\n--certs-dir value, -S value  path to certs directory (default: \"~/.minio/certs\")\n--quiet                      disable startup and info messages\n--anonymous                  hide sensitive information from logging\n--json                       output logs in JSON format\n--help, -h                   show help\n```\n\n## Troubleshooting\n\nSome common problems experienced by users ...\n\n### `ERROR: Cannot find the minio executable` for supported platform\n\nSome users are reporting this error even when running on one of the supported native platforms:\n\n* arm64-darwin (darwin-arm64)\n* arm64-linux (linux-arm64)\n* x86_64-darwin (darwin-amd64)\n* x86_64-linux (linux-amd64)\n* x86_64-windows (windows-amd64)\n\n#### Check Bundler PLATFORMS\n\nA possible cause of this is that Bundler has not been told to include native gems for your current platform. Please check your `Gemfile.lock` file to see whether your native platform is included in the `PLATFORMS` section. If necessary, run:\n\n``` sh\nbundle lock --add-platform \u003cplatform-name\u003e\n```\n\nand re-bundle.\n\n#### Check BUNDLE_FORCE_RUBY_PLATFORM\n\nAnother common cause of this is that Bundler is configured to always use the \"ruby\" platform via the `BUNDLE_FORCE_RUBY_PLATFORM` config parameter being set to `true`. Please remove this configuration:\n\n``` sh\nbundle config unset force_ruby_platform\n# or\nbundle config set --local force_ruby_platform false\n```\n\nand re-bundle.\n\nSee https://bundler.io/man/bundle-config.1.html for more information.\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. For maintainers, to release a new version, run `bin/release $VERSION`, which will create a git tag for the version, push git commits and tags, and push all of the platform-specific `.gem` files to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/fractaledmind/minio-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/fractaledmind/minio-ruby/blob/main/CODE_OF_CONDUCT.md).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the Sqlpkg::Ruby project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/fractaledmind/minio-ruby/blob/main/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffractaledmind%2Fminio-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffractaledmind%2Fminio-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffractaledmind%2Fminio-ruby/lists"}