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
sudoaccess is required to install Docker and manage containers. -
Ports: Ports
9000(API) and9001(Console) must be available and not blocked by external firewalls. -
Storage: A mounted volume or directory at
/mnt/datais 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:
-
The Docker engine is installed on the server using the official installation script.
-
Python 3 and the
python3-pippackage are updated to the latest version. -
Required Python libraries (
dockerandrequests==2.31.0) are installed to support container management. -
The MinIO container is launched using the
quay.io/minio/minioimage.
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
9000maps to Container Port9000(MinIO Object Storage API). -
Host Port
9001maps to Container Port9001(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
9000and9001through the host firewall. -
Access keys and secret keys are configured within the container environment (represented as
YOUR_ACCESS_KEYandYOUR_SECRET_KEYin 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).