1
0
mirror of https://github.com/minio/docs.git synced 2025-07-30 07:03:26 +03:00

Docs Multiplatform Slice

This commit is contained in:
Ravind Kumar
2022-05-06 16:44:42 -04:00
parent df33ddee6a
commit b99c20a16f
134 changed files with 3689 additions and 2200 deletions

View File

@ -1,105 +1,3 @@
.. start-install-minio-binary-desc
The following tabs provide examples of installing MinIO onto 64-bit Linux
operating systems using RPM, DEB, or binary. The RPM and DEB packages
automatically install MinIO to the necessary system paths and create a
``systemd`` service file for running MinIO automatically. MinIO strongly
recommends using RPM or DEB installation routes.
.. tab-set::
.. tab-item:: RPM (RHEL)
:sync: rpm
Use the following commands to download the latest stable MinIO RPM and
install it.
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-rpm| -O minio.rpm
sudo dnf install minio.rpm
.. tab-item:: DEB (Debian/Ubuntu)
:sync: deb
Use the following commands to download the latest stable MinIO DEB and
install it:
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-deb| -O minio.deb
sudo dpkg -i minio.deb
.. tab-item:: Binary
:sync: binary
Use the following commands to download the latest stable MinIO binary and
install it to the system ``$PATH``:
.. code-block:: shell
:class: copyable
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
.. end-install-minio-binary-desc
.. start-upgrade-minio-binary-desc
The following tabs provide examples of updating MinIO onto 64-bit Linux
operating systems using RPM, DEB, or binary:
.. tab-set::
.. tab-item:: RPM (RHEL)
:sync: rpm
Use the following commands to download the latest stable MinIO RPM and
update the existing installation.
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-rpm| -O minio.deb
sudo dnf update minio.rpm
.. tab-item:: DEB (Debian/Ubuntu)
:sync: deb
Use the following commands to download the latest stable MinIO DEB and
upgrade the existing installation:
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-deb| -O minio.deb
sudo dpkg -i minio.deb
.. tab-item:: Binary
:sync: binary
Use the following commands to download the latest stable MinIO binary and
overwrite the existing binary:
.. code-block:: shell
:class: copyable
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
Replace ``/usr/local/bin`` with the location of the existing MinIO
binary. Run ``which minio`` to identify the path if not already known.
.. end-upgrade-minio-binary-desc
.. start-install-minio-tls-desc
MinIO enables :ref:`Transport Layer Security (TLS) <minio-tls>` 1.2+
@ -134,118 +32,6 @@ recommends *against* non-TLS deployments outside of early development.
.. end-install-minio-tls-desc
.. start-install-minio-systemd-desc
The ``.deb`` or ``.rpm`` packages install the following
`systemd <https://www.freedesktop.org/wiki/Software/systemd/>`__ service file to
``/etc/systemd/system/minio.service``. For binary installations, create this
file manually on all MinIO hosts:
.. code-block:: shell
:class: copyable
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
The ``minio.service`` file runs as the ``minio-user`` User and Group by default.
You can create the user and group using the ``groupadd`` and ``useradd``
commands. The following example creates the user, group, and sets permissions
to access the folder paths intended for use by MinIO. These commands typically
require root (``sudo``) permissions.
.. code-block:: shell
:class: copyable
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
The specified disk paths are provided as an example. Change them to match
the path to those disks intended for use by MinIO.
Alternatively, change the ``User`` and ``Group`` values to another user and
group on the system host with the necessary access and permissions.
MinIO publishes additional startup script examples on
:minio-git:`github.com/minio/minio-service <minio-service>`.
.. end-install-minio-systemd-desc
.. start-install-minio-start-service-desc
.. code-block:: shell
:class: copyable
sudo systemctl start minio.service
Use the following commands to confirm the service is online and functional:
.. code-block:: shell
:class: copyable
sudo systemctl status minio.service
journalctl -f -u minio.service
MinIO may log an increased number of non-critical warnings while the
server processes connect and synchronize. These warnings are typically
transient and should resolve as the deployment comes online.
.. end-install-minio-start-service-desc
.. start-install-minio-restart-service-desc
.. code-block:: shell
:class: copyable
sudo systemctl restart minio.service
Use the following commands to confirm the service is online and functional:
.. code-block:: shell
:class: copyable
sudo systemctl status minio.service
journalctl -f -u minio.service
MinIO may log an increased number of non-critical warnings while the
server processes connect and synchronize. These warnings are typically
transient and should resolve as the deployment comes online.
.. end-install-minio-restart-service-desc
.. start-install-minio-console-desc
Open your browser and access any of the MinIO hostnames at port ``:9001`` to
@ -267,6 +53,53 @@ Console.
.. end-install-minio-console-desc
.. start-local-jbod-single-node-desc
MinIO strongly recommends direct-attached :abbr:`JBOD (Just a Bunch of Disks)`
arrays with XFS-formatted disks for best performance.
- Direct-Attached Storage (DAS) has significant performance and consistency
advantages over networked storage (NAS, SAN, NFS).
- Deployments using non-XFS filesystems (ext4, btrfs, zfs) tend to have
lower performance while exhibiting unexpected or undesired behavior.
- RAID or similar technologies do not provide additional resilience or
availability benefits when used with distributed MinIO deployments, and
typically reduce system performance.
Ensure all server drives for which you intend MinIO to use are of the same type (NVMe, SSD, or HDD) with identical capacity (e.g. ``12`` TB).
MinIO does not distinguish drive types and does not benefit from mixed storage types.
Additionally. MinIO limits the size used per disk to the smallest drive in the deployment.
For example, if the deployment has 15 10TB disks and 1 1TB disk, MinIO limits the per-disk capacity to 1TB.
MinIO *requires* using expansion notation ``{x...y}`` to denote a sequential series of disks when creating the new |deployment|, where all nodes in the |deployment| have an identical set of mounted drives.
MinIO also requires that the ordering of physical disks remain constant across restarts, such that a given mount point always points to the same formatted disk.
MinIO therefore **strongly recommends** using ``/etc/fstab`` or a similar file-based mount configuration to ensure that drive ordering cannot change after a reboot.
For example:
.. code-block:: shell
$ mkfs.xfs /dev/sdb -L DISK1
$ mkfs.xfs /dev/sdc -L DISK2
$ mkfs.xfs /dev/sdd -L DISK3
$ mkfs.xfs /dev/sde -L DISK4
$ nano /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
LABEL=DISK1 /mnt/disk1 xfs defaults,noatime 0 2
LABEL=DISK2 /mnt/disk2 xfs defaults,noatime 0 2
LABEL=DISK3 /mnt/disk3 xfs defaults,noatime 0 2
LABEL=DISK4 /mnt/disk4 xfs defaults,noatime 0 2
You can then specify the entire range of disks using the expansion notation ``/mnt/disk{1...4}``.
If you want to use a specific subfolder on each disk, specify it as ``/mnt/disk{1...4}/minio``.
MinIO **does not** support arbitrary migration of a drive with existing MinIO data to a new mount position, whether intentional or as the result of OS-level behavior.
.. end-local-jbod-single-node-desc
.. start-local-jbod-desc
MinIO strongly recommends direct-attached :abbr:`JBOD (Just a Bunch of Disks)`

View File

@ -0,0 +1,147 @@
.. _minio-installation:
========================
Install and Deploy MinIO
========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 1
MinIO is a software-defined high performance distributed object storage server.
You can run MinIO on consumer or enterprise-grade hardware and a variety
of operating systems and architectures.
MinIO supports three deployment modes:
Standalone Single-Drive
A single MinIO server with a single storage volume or folder, also referred to as "Filesystem Mode".
Standalone single deployments are best suited for evaluation and initial development of applications using MinIO for object storage, *or* for providing an S3 access layer to single storage volume.
Standalone deployments do not provide access to the full set of MinIO's advanced S3 features and functionality - specifically those dependent on :ref:`Erasure Coding <minio-erasure-coding>`.
Standalone Multi-Drive
A single MinIO server with *at least* four storage volumes or folders.
A standalone multi-drive deployment supports and enables :ref:`erasure coding <minio-erasure-coding>` and its dependent features.
Standalone multi-drive deployments can only provide drive-level availability and performance scaling.
Use standalone multi-drive deployments for small-scale environments which do not require high availability or scalable performance characteristics.
Distributed Deployments
One or more MinIO servers with *at least* four total storage volumes across all servers.
A distributed deployment supports and enables :ref:`erasure coding <minio-erasure-coding>` and its dependent features.
Distributed deployments provide drive and server-level availability and performance scaling.
Distributed deployments are best for production environments and workloads.
MinIO recommends a baseline topology of 4 nodes with 4 drives each for production environments.
This topology provides continuity with the loss of up to one server *or* four drives across all servers.
.. _minio-installation-comparison:
The following table compares the key functional differences between MinIO deployments:
.. list-table::
:header-rows: 1
:width: 100%
* -
- :guilabel:`Standalone Single-Drive`
- :guilabel:`Standalone Multi-Drive`
- :guilabel:`Distributed`
* - Site-to-Site Replication
- Client-Side via :mc:`mc mirror`
- :ref:`Server-Side Replication <minio-bucket-replication>`
- :ref:`Server-Side Replication <minio-bucket-replication>`
* - Versioning
- No
- :ref:`Object Versioning <minio-bucket-versioning>`
- :ref:`Object Versioning <minio-bucket-versioning>`
* - Retention
- No
- :ref:`Write-Once Read-Many Locking <minio-bucket-locking>`
- :ref:`Write-Once Read-Many Locking <minio-bucket-locking>`
* - High Availability / Redundancy
- Drive Level Only (RAID and similar)
- Drive Level only with :ref:`Erasure Coding <minio-erasure-coding>`
- Drive and Server-Level with :ref:`Erasure Coding <minio-erasure-coding>`
* - Scaling
- No
- :ref:`Server Pool Expansion <expand-minio-distributed>`
- :ref:`Server Pool Expansion <expand-minio-distributed>`.
Site Replication
----------------
Site replication expands the features of bucket replication to include IAM, security tokens, service accounts, and bucket features the same across all sites.
:ref:`Site replication <minio-site-replication-overview>` links multiple MinIO deployments together and keeps the buckets, objects, and Identify and Access Management (IAM) settings in sync across all connected sites.
.. include:: /includes/common-replication.rst
:start-after: start-mc-admin-replicate-what-replicates
:end-before: end-mc-admin-replicate-what-replicates
What Does Not Replicate?
~~~~~~~~~~~~~~~~~~~~~~~~
Not everything replicates across sites.
.. include:: /includes/common-replication.rst
:start-after: start-mc-admin-replicate-what-does-not-replicate
:end-before: end-mc-admin-replicate-what-does-not-replicate
.. _minio-installation-platform-support:
Platform Support
----------------
MinIO provides builds of the MinIO server (:mc:`minio`) and the
MinIO :abbr:`CLI (Command Line Interface)` (:mc:`mc`) for the following
platforms.
.. cond:: linux
- Red Hat Enterprise Linux 8.5+ (including all binary-compatible RHEL alternatives)
- Ubuntu 18.04+
MinIO provides builds for the following architectures:
- AMD64
- ARM64
- PowerPC 64 LE
- S390X
.. cond:: macos
MinIO recommends non-EOL macOS versions (10.14+).
.. cond:: windows
MinIO recommends non-EOL Windows versions (Windows 10, Windows Server 2016+).
Support for running :ref:`distributed MinIO deployments <deploy-minio-distributed>` is *experimental* on Windows OS.
For unlisted platforms or architectures, please reach out to MinIO at
hello@min.io for additional support and guidance. You can build MinIO from
:minio-git:`source <minio/#install-from-source>` and
`cross-compile
<https://golang.org/doc/install/source#bootstrapFromCrosscompiledSource>`__
for your platform and architecture combo. MinIO generally does not recommend
source-based installations in production environments.
.. toctree::
:titlesonly:
:hidden:
/operations/install-deploy-manage/deploy-minio-single-node-single-drive
/operations/install-deploy-manage/deploy-minio-single-node-multi-drive
/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive
/operations/install-deploy-manage/multi-site-replication

View File

@ -0,0 +1,371 @@
.. _quickstart-container:
=========================
Quickstart for Containers
=========================
.. default-domain:: minio
.. |OS| replace:: Docker or Podman
This procedure deploys a :ref:`Single-Node Single-Drive <minio-installation-comparison>` MinIO server onto |OS| for early development and evaluation of MinIO Object Storage and its S3-compatible API layer.
For instructions on deploying to production environments, see :ref:`deploy-minio-distributed`.
Prerequisites
-------------
- `Podman <https://podman.io/getting-started/installation.html>`_ or `Docker <https://docs.docker.com/get-docker/>`_ installed.
- Read, write, and delete access to the folder or drive used for the persistent volume.
Procedure
---------
#. Start the container
Select a container type to view instructions to create the container.
Instructions are available for either GNU/Linux and MacOS or for Windows.
.. dropdown:: Podman (Rootfull or Rootless)
:name: podman-root-rootless
These steps work for both rootfull and rootless containers.
.. tab-set::
.. tab-item:: GNU/Linux or MacOS
.. code-block:: shell
:class: copyable
podman run \
-p 9000:9000 \
-p 9090:9090 \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``podman run`` starts the container.
The process is attached to the terminal session and ends when exiting the terminal.
- ``-p`` binds a local port to a container port.
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data mirrors to the local path ``~/minio/data``, allowing it to persist between container restarts.
You can set any file path to which the user has read, write, and delete permissions to use.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
.. tab-item:: Windows
.. code-block:: shell
:class: copyable
podman run \
-p 9000:9000 \
-p 9090:9090 \
-v D:\data:/data \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``podman run`` starts the container.
- ``-p`` binds a local port to a container port.
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data mirrors to the local path ``D:\data``, allowing it to persist between container restarts.
You can set any file path to which the user has read, write, and delete permissions to use.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
.. dropdown:: Docker (Rootfull)
:name: docker-rootfull
.. tab-set::
.. tab-item:: GNU/Linux or MacOS
.. code-block:: shell
:class: copyable
mkdir -p ~/minio/data
docker run \
-p 9000:9000 \
-p 9090:9090 \
--name minio \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``mkdir`` creates a new local directory at ``~/minio/data`` in your home directory.
- ``docker run`` starts the MinIO container.
- ``-p`` binds a local port to a container port.
- ``-name`` creates a name for the container.
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data mirrors to the local path ``~/minio/data``, allowing it to persist between container restarts.
You can replace ``~/minio/data`` with another local file location to which the user has read, write, and delete access.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
.. tab-item:: Windows
.. code-block:: shell
:class: copyable
docker run \
-p 9000:9000 \
-p 9090:9090 \
--name minio1 \
-v D:\data:/data \
-e "MINIO_ROOT_USER=ROOTUSER" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``docker run`` starts the MinIO container.
- ``-p`` binds a local port to a container port.
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data mirrors to the local path ``D:\data``, allowing it to persist between container restarts.
You can replace ``D:\data`` with another local file location to which the user has read, write, and delete access.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
.. dropdown:: Docker (Rootless)
:name: docker-rootless
.. tab-set::
.. tab-item:: GNU/Linux or MacOS
.. code-block:: shell
:class: copyable
mkdir -p ${HOME}/data
docker run \
-p 9000:9000 \
-p 9090:9090 \
--user $(id -u):$(id -g) \
--name minio1 \
-e "MINIO_ROOT_USER=ROOTUSER" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
-v ${HOME}/minio/data:/data \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``mkdir`` creates a new local directory at ``~/minio/data`` in your home directory.
- ``docker run`` starts the MinIO container.
- ``-p`` binds a local port to a container port.
- ``-user`` sets the username for the container to the policies for the current user and user group.
- ``-name`` creates a name for the container.
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data actually writes to the local path ``~/minio/data`` where it can persist between container restarts.
You can replace ``${HOME}/minio/data`` with another location in the user's home directory to which the user has read, write, and delete access.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
.. tab-item:: Windows
Prerequisite:
- Windows `Group Managed Service Account <https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts>`_ already defined.
.. code-block:: shell
:class: copyable
docker run \
-p 9000:9000 \
-p 9090:9090 \
--name minio1 \
--security-opt "credentialspec=file://path/to/file.json"
-e "MINIO_ROOT_USER=ROOTUSER" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
-v D:\data:/data \
quay.io/minio/minio server /data --console-address ":9090"
The example above works this way:
- ``docker run`` starts the MinIO container.
- ``-p`` binds a local port to a container port.
- ``-name`` creates a name for the container.
- ``--security-opt`` grants access to the container via a ``credentialspec`` file for a `Group Managed Service Account (gMSA) <https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/gmsa-run-container>`_
- ``-v`` sets a file path as a persistent volume location for the container to use.
When MinIO writes data to ``/data``, that data actually writes to the local path ``D:\data`` where it can persist between container restarts.
You can replace ``D:\data`` with another local file location to which the user has read, write, and delete access.
- ``-e`` sets the environment variables :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD`, respectively.
These set the :ref:`root user credentials <minio-users-root>`.
Change the example values to use for your container.
#. Connect your Browser to the MinIO Server
Access the :ref:`minio-console` by going to a browser and going to ``http://127.0.0.1:9000`` or one of the Console addresses specified in the :mc:`minio server` command's output.
For example, :guilabel:`Console: http://192.0.2.10:9090 http://127.0.0.1:9090` in the example output indicates two possible addresses to use for connecting to the Console.
While port ``9000`` is used for connecting to the API, MinIO automatically redirects browser access to the MinIO Console.
Log in to the Console with the credentials you defined in the :envvar:`MINIO_ROOT_USER` and :envvar:`MINIO_ROOT_PASSWORD` environment variables.
.. image:: /images/minio-console/console-login.png
:width: 600px
:alt: MinIO Console displaying login screen
:align: center
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration.
Each MinIO server includes its own embedded MinIO Console.
.. image:: /images/minio-console/minio-console.png
:width: 600px
:alt: MinIO Console displaying bucket start screen
:align: center
For more information, see the :ref:`minio-console` documentation.
#. `(Optional)` Install the MinIO Client
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO volume from the commandline.
Select your operating system for instructions.
.. dropdown:: GNU/Linux
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO server from the commandline.
Download the :mc:`mc` client and install it to a location on your system ``PATH`` such as
``/usr/local/bin``. You can alternatively run the binary from the download location.
.. code-block:: shell
:class: copyable
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
Use :mc-cmd:`mc alias set` to create a new alias associated to your local deployment.
You can run :mc-cmd:`mc` commands against this alias:
.. code-block:: shell
:class: copyable
mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
mc admin info local
Replace ``{MINIO_ROOT_USER}`` and ``{MINIO_ROOT_PASSWORD}`` with the credentials you defined for the container with the ``-e`` flags.
The :mc-cmd:`mc alias set` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
For additional details about this command, see :ref:`alias`.
.. dropdown:: MacOS
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO volume from the commandline.
.. tab-set::
.. tab-item:: Homebrew
Run the following command to install the latest stable MinIO Client package using `Homebrew <https://brew.sh>`_.
.. code-block:: shell
:class: copyable
brew install minio/stable/mc
.. tab-item:: Binary (arm64)
Run the following commands to install the latest stable MinIO Client package using a binary package for Apple chips.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/client/mc/release/darwin-arm64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
.. tab-item:: Binary (amd64)
Run the following commands to install the latest stable MinIO Client package using a binary package for Intel chips.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/client/mc/release/darwin-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
Use :mc-cmd:`mc alias set` to quickly authenticate and connect to the MinIO deployment.
.. code-block:: shell
:class: copyable
mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
mc admin info local
Replace ``{MINIO_ROOT_USER}`` and ``{MINIO_ROOT_PASSWORD}`` with the credentials you defined for the container with the ``-e`` flags.
The :mc-cmd:`mc alias set` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
For additional details about this command, see :ref:`alias`.
.. dropdown:: Windows
Download the standalone MinIO server for Windows from the following link:
https://dl.min.io/client/mc/release/windows-amd64/mc.exe
Double click on the file to run it.
Or, run the following in the Command Prompt or PowerShell.
.. code-block::
:class: copyable
\path\to\mc.exe --help
Use :mc-cmd:`mc alias set` to quickly authenticate and connect to the MinIO deployment.
.. code-block:: shell
:class: copyable
mc.exe alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
mc.exe admin info local
Replace ``{MINIO_ROOT_USER}`` and ``{MINIO_ROOT_PASSWORD}`` with the credentials you defined for the container with the ``-e`` flags.
The :mc-cmd:`mc alias set` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
For additional details about this command, see :ref:`alias`.
Next Steps
----------
- :ref:`Connect your applications to MinIO <minio-drivers>`
- :ref:`Configure Object Retention <minio-object-retention>`
- :ref:`Configure Security <minio-authentication-and-identity-management>`
- :ref:`Deploy MinIO in a Distrbuted Environment <deploy-minio-distributed>`

View File

@ -0,0 +1,19 @@
.. _minio-operator-installation:
=========================
Deploy the MinIO Operator
=========================
.. default-domain:: minio
.. contents:: Table of Contents
:local:
:depth: 1
STUB - to be filled in
.. toctree::
:titlesonly:
:hidden:
/operations/install-deploy-manage/upgrade-minio-operator

View File

@ -0,0 +1,166 @@
.. _quickstart-kubernetes:
=========================
Quickstart for Kubernetes
=========================
.. default-domain:: minio
.. |OS| replace:: Kubernetes
This procedure deploys a :ref:`Single-Node Single-Drive <minio-installation-comparison>` MinIO server onto |OS| for early development and evaluation of MinIO Object Storage and its S3-compatible API layer.
Use the :ref:`MinIO Opreator <minio-operator-installation>` to deploy and manage production-ready MinIO tenants on Kubernetes.
Prerequisites
-------------
- An existing Kubernetes deployment where *at least* one Worker Node has a locally-attached drive.
- A local ``kubectl`` installation configured to create and access resources on the target Kubernetes deployment.
- Familiarity with Kubernetes environments
- Familiarity with using a Terminal or Shell environment
Procedure
---------
#. **Download the MinIO Object**
.. tab-set::
.. tab-item:: Download the MinIO Kubernetes Object Definition
Download `minio-dev.yaml <https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml>`__ to your host machine:
.. code-block:: shell
:class: copyable
curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O
The file describes two Kubernetes resources:
- A new namespace ``minio-dev``, and
- A MinIO pod using a drive or volume on the Worker Node for serving data
Select the :guilabel:`Overview of the MinIO Object YAML` for a more detailed description of the object.
.. tab-item:: Overview of the MinIO Object YAML
The ``minio-dev.yaml`` contains the following Kubernetes resources:
.. literalinclude:: /extra/examples/minio-dev.yaml
:language: yaml
The object deploys two resources:
- A new namespace ``minio-dev``, and
- A MinIO pod using a drive or volume on the Worker Node for serving data
The MinIO resource definition uses Kubernetes :kube-docs:`Node Selectors and Labels <concepts/scheduling-eviction/assign-pod-node/#built-in-node-labels>` to restrict the pod to a node with matching hostname label.
Use ``kubectl get nodes --show-labels`` to view all labels assigned to each node in the cluster.
The MinIO Pod uses a :kube-docs:`hostPath <concepts/storage/volumes/#hostpath>` volume for storing data. This path *must* correspond to a local drive or folder on the Kubernetes worker node.
Users familiar with Kubernetes scheduling and volume provisioning may modify the ``spec.nodeSelector``, ``volumeMounts.name``, and ``volumes`` fields to meet more specific requirements.
#. **Apply the MinIO Object Definition**
The following command applies the ``minio-dev.yaml`` configuration and deploys the objects to Kubernetes:
.. code-block:: shell
:class: copyable
kubectl apply -f minio-dev.yaml
The command output should resemble the following:
.. code-block:: shell
namespace/minio-dev created
pod/minio created
You can verify the state of the pod by running ``kubectl get pods``:
.. code-block:: shell
:class: copyable
kubectl get pods -n minio-dev
The output should resemble the following:
.. code-block:: shell
NAME READY STATUS RESTARTS AGE
minio 1/1 Running 0 77s
You can also use the following commands to retrieve detailed information on the pod status:
.. code-block:: shell
:class: copyable
kubectl describe pod/minio -n minio-dev
kubectl logs pod/minio -n minio-dev
#. **Temporarily Access the MinIO S3 API and Console**
Use the ``kubectl port-forward`` command to temporarily forward traffic from the MinIO pod to the local machine:
.. code-block:: shell
:class: copyable
kubectl port-forward pod/minio 9000 9090
The command forwards the pod ports ``9000`` and ``9090`` to the matching port on the local machine while active in the shell.
The ``kubectl port-forward`` command only functions while active in the shell session.
Terminating the session closes the ports on the local machine.
.. note::
The following steps of this procedure assume an active ``kubectl port-forward`` command.
To configure long term access to the pod, configure :kube-docs:`Ingress <concepts/services-networking/ingress/>` or similar network control components within Kubernetes to route traffic to and from the pod. Configuring Ingress is out of the scope for this documentation.
#. **Connect your Browser to the MinIO Server**
Access the :ref:`minio-console` by opening a browser on the local machine and navigating to ``http://127.0.0.1:9090``.
Log in to the Console with the credentials ``minioadmin | minioadmin``.
These are the default :ref:`root user <minio-users-root>` credentials.
.. image:: /images/minio-console/console-login.png
:width: 600px
:alt: MinIO Console displaying login screen
:align: center
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration.
Each MinIO server includes its own embedded MinIO Console.
.. image:: /images/minio-console/minio-console.png
:width: 600px
:alt: MinIO Console displaying bucket start screen
:align: center
For more information, see the :ref:`minio-console` documentation.
#. **(Optional) Connect the MinIO Client**
If your local machine has :mc:`mc` :ref:`installed <mc-install>`, use the :mc-cmd:`mc alias set` command to authenticate and connect to the MinIO deployment:
.. code-block:: shell
:class: copyable
mc alias set k8s-minio-dev http://127.0.0.1:9000 minioadmin minioadmin
mc admin info k8s-minio-dev
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
Next Steps
----------
- :ref:`Connect your applications to MinIO <minio-drivers>`
- :ref:`Configure Object Retention <minio-object-retention>`
- :ref:`Configure Security <minio-authentication-and-identity-management>`
- :ref:`Deploy MinIO for Production Environments <deploy-minio-distributed>`

View File

@ -0,0 +1,261 @@
.. start-install-minio-binary-desc
The following tabs provide examples of installing MinIO onto 64-bit Linux
operating systems using RPM, DEB, or binary. The RPM and DEB packages
automatically install MinIO to the necessary system paths and create a
``systemd`` service file for running MinIO automatically. MinIO strongly
recommends using RPM or DEB installation routes.
.. tab-set::
.. tab-item:: RPM (RHEL)
:sync: rpm
Use the following commands to download the latest stable MinIO RPM and
install it.
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-rpm| -O minio.deb
sudo dnf install minio.rpm
.. tab-item:: DEB (Debian/Ubuntu)
:sync: deb
Use the following commands to download the latest stable MinIO DEB and
install it:
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-deb| -O minio.deb
sudo dpkg -i minio.deb
.. tab-item:: Binary
:sync: binary
Use the following commands to download the latest stable MinIO binary and
install it to the system ``$PATH``:
.. code-block:: shell
:class: copyable
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
.. end-install-minio-binary-desc
.. start-run-minio-binary-desc
Run the :mc-cmd:`minio server` command to start the MinIO server.
Specify the path to the volume or folder to use as the storage directory.
The :mc-cmd:`minio` process must have full access (``rwx``) to the specified path and all subfolders:
The following example uses the ``~/minio-data`` folder:
.. code-block:: shell
:class: copyable
mkdir ~/minio-data
minio server ~/minio-data --console-address ":9090"
The :mc:`minio server` process prints its output to the system console, similar
to the following:
.. code-block:: shell
API: http://192.0.2.10:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: http://192.0.2.10:9090 http://127.0.0.1:9090
RootUser: minioadmin
RootPass: minioadmin
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
Documentation: https://docs.min.io
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
Open your browser to any of the listed :guilabel:`Console` addresses to open the
:ref:`MinIO Console <minio-console>` and log in with the :guilabel:`RootUser`
and :guilabel:`RootPass`. You can use the MinIO Console for performing
administration on the MinIO server.
For applications, use the :guilabel:`API` addresses to access the MinIO
server and perform S3 operations.
The following steps are optional but recommended for further securing the
MinIO deployment.
.. end-run-minio-binary-desc
.. start-upgrade-minio-binary-desc
The following tabs provide examples of updating MinIO onto 64-bit Linux
operating systems using RPM, DEB, or binary:
.. tab-set::
.. tab-item:: RPM (RHEL)
:sync: rpm
Use the following commands to download the latest stable MinIO RPM and
update the existing installation.
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-rpm| -O minio.deb
sudo dnf update minio.rpm
.. tab-item:: DEB (Debian/Ubuntu)
:sync: deb
Use the following commands to download the latest stable MinIO DEB and
upgrade the existing installation:
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-deb| -O minio.deb
sudo dpkg -i minio.deb
.. tab-item:: Binary
:sync: binary
Use the following commands to download the latest stable MinIO binary and
overwrite the existing binary:
.. code-block:: shell
:class: copyable
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
Replace ``/usr/local/bin`` with the location of the existing MinIO
binary. Run ``which minio`` to identify the path if not already known.
.. end-upgrade-minio-binary-desc
.. start-install-minio-systemd-desc
The ``.deb`` or ``.rpm`` packages install the following
`systemd <https://www.freedesktop.org/wiki/Software/systemd/>`__ service file to
``/etc/systemd/system/minio.service``. For binary installations, create this
file manually on all MinIO hosts:
.. code-block:: shell
:class: copyable
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
The ``minio.service`` file runs as the ``minio-user`` User and Group by default.
You can create the user and group using the ``groupadd`` and ``useradd``
commands. The following example creates the user, group, and sets permissions
to access the folder paths intended for use by MinIO. These commands typically
require root (``sudo``) permissions.
.. code-block:: shell
:class: copyable
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
The specified disk paths are provided as an example. Change them to match
the path to those disks intended for use by MinIO.
Alternatively, change the ``User`` and ``Group`` values to another user and
group on the system host with the necessary access and permissions.
MinIO publishes additional startup script examples on
:minio-git:`github.com/minio/minio-service <minio-service>`.
.. end-install-minio-systemd-desc
.. start-install-minio-start-service-desc
.. code-block:: shell
:class: copyable
sudo systemctl start minio.service
Use the following commands to confirm the service is online and functional:
.. code-block:: shell
:class: copyable
sudo systemctl status minio.service
journalctl -f -u minio.service
MinIO may log an increased number of non-critical warnings while the
server processes connect and synchronize. These warnings are typically
transient and should resolve as the deployment comes online.
.. end-install-minio-start-service-desc
.. start-install-minio-restart-service-desc
.. code-block:: shell
:class: copyable
sudo systemctl restart minio.service
Use the following commands to confirm the service is online and functional:
.. code-block:: shell
:class: copyable
sudo systemctl status minio.service
journalctl -f -u minio.service
MinIO may log an increased number of non-critical warnings while the
server processes connect and synchronize. These warnings are typically
transient and should resolve as the deployment comes online.
.. end-install-minio-restart-service-desc

View File

@ -0,0 +1,96 @@
1) Download the MinIO Server
----------------------------
The following tabs provide examples of installing MinIO onto 64-bit Linux
operating systems using RPM, DEB, or binary. The RPM and DEB packages
automatically install MinIO to the necessary system paths and create a
``systemd`` service file for running MinIO automatically. MinIO strongly
recommends using RPM or DEB installation routes.
.. tab-set::
.. tab-item:: RPM (RHEL)
:sync: rpm
Use the following commands to download the latest stable MinIO RPM and
install it.
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-rpm| -O minio.deb
sudo dnf install minio.rpm
.. tab-item:: DEB (Debian/Ubuntu)
:sync: deb
Use the following commands to download the latest stable MinIO DEB and
install it:
.. code-block:: shell
:class: copyable
:substitutions:
wget |minio-deb| -O minio.deb
sudo dpkg -i minio.deb
.. tab-item:: Binary
:sync: binary
Use the following commands to download the latest stable MinIO binary and
install it to the system ``$PATH``:
.. code-block:: shell
:class: copyable
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
2) Run the MinIO Server
-----------------------
Run the :mc-cmd:`minio server` command to start the MinIO server.
Specify the path to the volume or folder to use as the storage directory.
The :mc-cmd:`minio` process must have full access (``rwx``) to the specified path and all subfolders:
The following example uses the ``~/minio-data`` folder:
.. code-block:: shell
:class: copyable
mkdir ~/minio-data
minio server ~/minio-data --console-address ":9090"
The :mc:`minio server` process prints its output to the system console, similar
to the following:
.. code-block:: shell
API: http://192.0.2.10:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: http://192.0.2.10:9090 http://127.0.0.1:9090
RootUser: minioadmin
RootPass: minioadmin
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
Documentation: https://docs.min.io
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
Open your browser to any of the listed :guilabel:`Console` addresses to open the
:ref:`MinIO Console <minio-console>` and log in with the :guilabel:`RootUser`
and :guilabel:`RootPass`. You can use the MinIO Console for performing
administration on the MinIO server.
For applications, use the :guilabel:`API` addresses to access the MinIO
server and perform S3 operations.
The following steps are optional but recommended for further securing the
MinIO deployment.

View File

@ -0,0 +1,130 @@
.. _quickstart-linux:
====================
Quickstart for Linux
====================
.. default-domain:: minio
.. |OS| replace:: Linux
This procedure deploys a :ref:`Standalone <minio-installation-comparison>` MinIO server onto |OS| for early development and evaluation of MinIO Object Storage and its S3-compatible API layer.
For instructions on deploying to production environments, see :ref:`deploy-minio-distributed`.
Prerequisites
-------------
- Read, Write and Execute permissions on your local user folder (e.g. ``~/minio``).
- Permission to install binaries to the system ``PATH`` (e.g. access to ``/usr/local/bin``).
- Familiarity with the Linux terminal or shell (Bash, ZSH, etc.).
- A 64-bit Linux OS (e.g. RHEL 8, Ubuntu LTS releases).
Procedure
---------
#. **Install the MinIO Server**
.. include:: /includes/linux/common-installation.rst
:start-after: start-install-minio-binary-desc
:end-before: end-install-minio-binary-desc
#. **Launch the MinIO Server**
Run the following command from the system terminal or shell to start a local MinIO instance using the ``~/minio`` folder. You can replace this path with another folder path on the local machine:
.. code-block:: shell
:class: copyable
mkdir ~/minio
minio server ~/minio --console-address :9090
The ``mkdir`` command creates the folder explicitly at the specified path.
The ``minio server`` command starts the MinIO server. The path argument
``~/minio`` identifies the folder in which the server operates.
The :mc:`minio server` process prints its output to the system console, similar to the following:
.. code-block:: shell
API: http://192.0.2.10:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: http://192.0.2.10:9090 http://127.0.0.1:9090
RootUser: minioadmin
RootPass: minioadmin
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
Documentation: https://docs.min.io
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables.
#. **Connect Your Browser to the MinIO Server**
Open http://127.0.0.1:9000 in a web browser to access the :ref:`MinIO Console <minio-console>`.
You can alternatively enter any of the network addresses specified as part of the server command output.
For example, :guilabel:`Console: http://192.0.2.10:9090 http://127.0.0.1:9090` in the example output indicates two possible addresses to use for connecting to the Console.
While the port ``9000`` is used for connecting to the API, MinIO automatically redirects browser access to the MinIO Console.
Log in to the Console with the ``RootUser`` and ``RootPass`` user credentials displayed in the output.
These default to ``minioadmin | minioadmin``.
.. image:: /images/minio-console/console-login.png
:width: 600px
:alt: MinIO Console displaying login screen
:align: center
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration.
Each MinIO server includes its own embedded MinIO Console.
.. image:: /images/minio-console/minio-console.png
:width: 600px
:alt: MinIO Console displaying bucket start screen
:align: center
For more information, see the :ref:`minio-console` documentation.
#. `(Optional)` **Install the MinIO Client**
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO server from the commandline.
Download the :mc:`mc` client and install it to a location on your system ``PATH`` such as
``/usr/local/bin``. You can alternatively run the binary from the download location.
.. code-block:: shell
:class: copyable
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
Use :mc-cmd:`mc alias set` to create a new alias associated to your local deployment.
You can run :mc-cmd:`mc` commands against this alias:
.. code-block:: shell
:class: copyable
mc alias set local http://127.0.0.1:9000 minioadmin minioadmin
mc admin info local
The :mc-cmd:`mc alias set` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
The example above uses the :ref:`root user <minio-users-root>`.
Next Steps
----------
- :ref:`Connect your applications to MinIO <minio-drivers>`
- :ref:`Configure Object Retention <minio-object-retention>`
- :ref:`Configure Security <minio-authentication-and-identity-management>`
- :ref:`Deploy MinIO for Production Environments <deploy-minio-distributed>`

View File

@ -0,0 +1,77 @@
.. start-install-minio-binary-desc
.. tab-set::
.. tab-item:: Homebrew
Open a Terminal and run the following command to install the latest stable MinIO package using `Homebrew <https://brew.sh>`_.
.. code-block:: shell
:class: copyable
brew install minio/stable/minio
.. important::
If you previously installed the MinIO server using ``brew install minio``, then we recommend that you reinstall from ``minio/stable/minio`` instead.
.. code-block:: shell
:class: copyable
brew uninstall minio
brew install minio/stable/minio
.. tab-item:: Binary - arm64
Open a Terminal, then use the following commands to download the standalone MinIO server for MacOS and make it executable.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/server/minio/release/darwin-arm64/minio
chmod +x minio
.. tab-item:: Binary - amd64
Open a Terminal, then use the following commands to download the standalone MinIO server for MacOS and make it executable.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x minio
.. end-install-minio-binary-desc
.. start-run-minio-binary-desc
From the Terminal, use the :mc:`minio server` to start a local MinIO instance in the ``~/data`` folder.
If desired, you can replace ``~/data`` with another location to which the user has read, write, and delete access for the MinIO instance.
.. code-block:: shell
:class: copyable
~/.minio server ~/data --console-address :9090
If you installed with Homebrew, do not include the ``~/`` at the beginning of the command.
The :mc:`minio server` process prints its output to the system console, similar to the following:
.. code-block:: shell
API: http://192.0.2.10:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: http://192.0.2.10:9090 http://127.0.0.1:9090
RootUser: minioadmin
RootPass: minioadmin
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
Documentation: https://docs.min.io
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables.
.. end-run-minio-binary-desc

View File

@ -0,0 +1,140 @@
.. _quickstart-macos:
=======================
Quickstart for Mac OSX
=======================
.. default-domain:: minio
.. |OS| replace:: MacOS
This procedure deploys a :ref:`Single-Node Single-Drive <minio-installation-comparison>` MinIO server onto |OS| for early development and evaluation of MinIO Object Storage and its S3-compatible API layer.
For instructions on deploying to production environments, see :ref:`deploy-minio-distributed`.
Prerequisites
-------------
- Read, write, and execute permissions for the user's home directory
- Familiarity with using the Terminal
Procedure
---------
#. **Install the MinIO Server**
.. include:: /includes/macos/common-installation.rst
:start-after: start-install-minio-binary-desc
:end-before: end-install-minio-binary-desc
#. **Launch the MinIO Server**
.. include:: /includes/macos/common-installation.rst
:start-after: start-run-minio-binary-desc
:end-before: end-run-minio-binary-desc
#. **Connect your Browser to the MinIO Server**
Access the :ref:`minio-console` by going to a browser (such as Safari) and going to ``https://127.0.0.1:9000`` or one of the Console addresses specified in the :mc:`minio server` command's output.
For example, :guilabel:`Console: http://192.0.2.10:9090 http://127.0.0.1:9090` in the example output indicates two possible addresses to use for connecting to the Console.
While port ``9000`` is used for connecting to the API, MinIO automatically redirects browser access to the MinIO Console.
Log in to the Console with the ``RootUser`` and ``RootPass`` user credentials displayed in the output.
These default to ``minioadmin | minioadmin``.
.. image:: /images/minio-console/console-login.png
:width: 600px
:alt: MinIO Console displaying login screen
:align: center
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration.
Each MinIO server includes its own embedded MinIO Console.
.. image:: /images/minio-console/minio-console.png
:width: 600px
:alt: MinIO Console displaying bucket start screen
:align: center
For more information, see the :ref:`minio-console` documentation.
#. `(Optional)` Install the MinIO Client
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO volume from the commandline.
.. tab-set::
.. tab-item:: Homebrew
Run the following commands to install the latest stable MinIO Client package using `Homebrew <https://brew.sh>`_.
.. code-block:: shell
:class: copyable
brew install minio/stable/mc
To use the command, run
.. code-block::
mc {command} {flag}
.. tab-item:: Binary (arm64)
Download the standalone MinIO server for MacOS and make it executable.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/client/mc/release/darwin-arm64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
To use the command, run
.. code-block:: shell
mc {command} {flag}
.. tab-item:: Binary (amd64)
Download the standalone MinIO server for MacOS and make it executable.
.. code-block:: shell
:class: copyable
curl -O https://dl.min.io/client/mc/release/darwin-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
To use the command, run
.. code-block:: shell
mc {command} {flag}
Use :mc-cmd:`mc alias set` to quickly authenticate and connect to the MinIO deployment.
.. code-block:: shell
:class: copyable
mc alias set local http://127.0.0.1:9000 minioadmin minioadmin
mc admin info local
The :mc-cmd:`mc alias set` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
For additional details about this command, see :ref:`alias`.
Next Steps
----------
- :ref:`Connect your applications to MinIO <minio-drivers>`
- :ref:`Configure Object Retention <minio-object-retention>`
- :ref:`Configure Security <minio-authentication-and-identity-management>`
- :ref:`Deploy MinIO for Production Environments <deploy-minio-distributed>`

View File

@ -0,0 +1,135 @@
.. _quickstart-windows:
======================
Quickstart for Windows
======================
.. default-domain:: minio
.. |OS| replace:: Windows
This procedure deploys a :ref:`Single-Node Single-Drive <minio-installation-comparison>` MinIO server onto |OS| for early development and evaluation of MinIO Object Storage and its S3-compatible API layer.
For instructions on deploying to production environments, see :ref:`deploy-minio-distributed`.
Prerequisites
-------------
- Read, write, and execute permissions for the preferred local directory or file path
- Familiarity with using the Command Prompt or PowerShell
Procedure
---------
#. Install the MinIO Server
Download the MinIO executable from the following URL:
.. code-block:: shell
:class: copyable
https://dl.min.io/server/minio/release/windows-amd64/minio.exe
The next step includes instructions for running the executable.
You cannot run the executable from the Explorer or by double clicking the file.
Instead, you call the executable to launch the server.
#. Launch the :mc:`minio server`
In PowerShell or the Command Prompt, navigate to the location of the executable or add the path of the ``minio.exe`` file to the system ``$PATH``.
Use this command to start a local MinIO instance in the ``C:\minio`` folder.
You can replace ``C:\minio`` with another drive or folder path on the local computer.
.. code-block::
:class: copyable
.\minio.exe server C:\minio --console-address :9090
The :mc:`minio server` process prints its output to the system console, similar to the following:
.. code-block:: shell
API: http://192.0.2.10:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: http://192.0.2.10:9090 http://127.0.0.1:9090
RootUser: minioadmin
RootPass: minioadmin
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
Documentation: https://docs.min.io
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables.
The process is tied to the current PowerShell or Command Prompt window.
Closing the window stops the server and ends the process.
#. Connect your Browser to the MinIO Server
Access the :ref:`minio-console` by going to a browser (such as Microsoft Edge) and going to ``http://127.0.0.1:9000`` or one of the Console addresses specified in the :mc:`minio server` command's output.
For example, :guilabel:`Console: http://192.0.2.10:9090 http://127.0.0.1:9090` in the example output indicates two possible addresses to use for connecting to the Console.
While port ``9000`` is used for connecting to the API, MinIO automatically redirects browser access to the MinIO Console.
Log in to the Console with the ``RootUser`` and ``RootPass`` user credentials displayed in the output.
These default to ``minioadmin | minioadmin``.
.. image:: /images/minio-console/console-login.png
:width: 600px
:alt: MinIO Console displaying login screen
:align: center
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration.
Each MinIO server includes its own embedded MinIO Console.
.. image:: /images/minio-console/minio-console.png
:width: 600px
:alt: MinIO Console displaying bucket start screen
:align: center
For more information, see the :ref:`minio-console` documentation.
#. `(Optional)` Install the MinIO Client
The :ref:`MinIO Client <minio-client>` allows you to work with your MinIO volume from the commandline.
Download the standalone MinIO server for Windows from the following link:
https://dl.min.io/client/mc/release/windows-amd64/mc.exe
Double click on the file to run it.
Or, run the following in the Command Prompt or PowerShell.
.. code-block::
:class: copyable
\path\to\mc.exe --help
Use :mc-cmd:`mc.exe alias set <mc alias set>` to quickly authenticate and connect to the MinIO deployment.
.. code-block:: shell
:class: copyable
mc.exe alias set local http://127.0.0.1:9000 minioadmin minioadmin
mc.exe admin info local
The :mc-cmd:`mc.exe alias set <mc alias set>` takes four arguments:
- The name of the alias
- The hostname or IP address and port of the MinIO server
- The Access Key for a MinIO :ref:`user <minio-users>`
- The Secret Key for a MinIO :ref:`user <minio-users>`
For additional details about this command, see :ref:`alias`.
Next Steps
----------
- :ref:`Connect your applications to MinIO <minio-drivers>`
- :ref:`Configure Object Retention <minio-object-retention>`
- :ref:`Configure Security <minio-authentication-and-identity-management>`
- :ref:`Deploy MinIO for Production Environments <deploy-minio-distributed>`