Skip to content

Deployment Overview of MinIO on Server

Prerequisites and Basic Requirements

The following requirements must be met on the server before deploying the application:

  • Operating System: Linux distribution capable of running Docker.

  • Privileges: Root or sudo access is required to install Docker and manage containers.

  • Ports: Ports 9000 (API) and 9001 (Console) must be available and not blocked by external firewalls.

  • Storage: A mounted volume or directory at /mnt/data is required for persistent data storage.

File and Directory Structure

The application utilizes the following directory structure on the host system:

  • /mnt/data: This directory serves as the persistent storage volume for MinIO data and is mounted into the container.

  • /tmp/get-docker.sh: The temporary location for the Docker installation script during the setup phase.

Application Installation Process

The MinIO application is deployed using Docker. The installation process involves the following steps:

  1. The Docker engine is installed on the server using the official installation script.

  2. Python 3 and the python3-pip package are updated to the latest version.

  3. Required Python libraries (docker and requests==2.31.0) are installed to support container management.

  4. The MinIO container is launched using the quay.io/minio/minio image.

Docker Containers and Their Deployment

MinIO is run as a single Docker container with the following configuration:

  • Container Name: minio

  • Image: quay.io/minio/minio

  • Command: server /data --console-address ':9001'

  • Ports:

  • Host Port 9000 maps to Container Port 9000 (MinIO Object Storage API).

  • Host Port 9001 maps to Container Port 9001 (MinIO Console).

  • Volumes:

  • /mnt/data:/data (Host path mounted to container path).

Access Rights and Security

Security and access are managed at the container and host levels:

  • The Docker installation script is executed with elevated privileges.

  • The MinIO container runs with standard root privileges inside the container context to manage the data directory.

  • External access to the server requires opening ports 9000 and 9001 through the host firewall.

  • Access keys and secret keys are configured within the container environment (represented as YOUR_ACCESS_KEY and YOUR_SECRET_KEY in the setup logic).

Available Ports for Connection

The application exposes the following ports for client and administrative access:

  • Port 9000: MinIO S3-compatible API endpoint.

  • Port 9001: MinIO Web Console for administration.

Starting, Stopping, and Updating

Management of the MinIO service is handled through Docker commands targeting the minio container:

  • To start the container: docker start minio

  • To stop the container: docker stop minio

  • To restart the container: docker restart minio

  • To update the image and container:

  • Pull the latest image: docker pull quay.io/minio/minio

  • Stop the existing container: docker stop minio

  • Remove the existing container: docker rm minio

  • Run the new container using the original deployment parameters (as defined in the deployment process).

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×