Object Management
Introduction
In MinIO, object management refers to the administration of buckets and the objects they contain, including their creation, access control, versioning, replication, and metadata maintenance.
Prerequisites
- MinIO server
Create a Bucket
In the MinIO Console, navigate to the Buckets tab via the left sidebar, then select the Create Bucket button.
Under Bucket Name, enter the desired name for your bucket and confirm your entry by clicking the Create Bucket button.
If you are using the Virtual Host-Style Method, you must then create a subdomain in the API domain’s DNS zone that matches the bucket’s name and resolves to the IPv4 and IPv6 addresses of the MinIO server.
Example bucket domain: my-test-bucket.api.your-domain.tld
If you manage your DNS zones through our Customer Center, you’ll find all the important information in this Help Center article.
Path Style vs. Virtual Host Style
MinIO supports accessing buckets using either the Path-Style (default) or the Virtual-Host-Style method. However, some applications require or expect the Virtual-Host-Style method, so the following section explains how to switch between the two options.
Changing the access method requires root access. If you have a managed server, please contact our support team so they can make the change for you.
Bucket Access Methods
| Method | Example |
|---|---|
| Path-Style | |
| Virtual-Host-Style | bucket-name.api. |
When using the Virtual Host Style method, you must create a subdomain with the same name for a newly created bucket before using it, so that it resolves to the IPv4 and IPv6 addresses of the MinIO server. see Customizing the MinIO API Domain.
\nTo configure the access method for buckets, first connect to your MinIO server via SSH as the root user. Then run the following command:
nano /etc/default/minio In the configuration file, you must now insert the following line in an empty space:
MINIO_DOMAIN=api.<server-id>.creoline.cloud Then save the file with Ctrl + S, exit with Ctrl + X, and restart the MinIO service with the following command:
systemctl restart minio Of course, you can also use your own domain here and are not limited to our test domains.
Customize the MinIO API Domain
Prerequisites
- Customization of the corresponding DNS zone
- MinIO server (For a managed server, please contact our support team)
When using the virtual host style method, the API domain and the admin domain must not be at the same domain level. Let’s assume your main domain is your-domain.tld and the admin domain is admin.your-domain.tld. The API domain must therefore not be your-domain.tld, so it makes sense to create the subdomain api.your-domain.tld in the corresponding DNS zone.
Configure the DNS Zone
If the API and admin domains are to be operated on the same main domain, we recommend using a descriptive subdomain such as api.your-domain.tld to specify the API domain.
If you manage your DNS zones through our Customer Center, you can find all the important information in this Help Center article.
Customize the Nginx Configuration
Connect to your MinIO server via SSH as the root user and enter the following command.
nano /etc/nginx/conf.d/<server-id>.creoline.cloud.conf In the configuration file, navigate to the section containing the following NGINX server directive for the API domain.
+ means this entry has been added (your desired domain)
- means this entry has been removed (our preconfigured domain)
You can also keep our entry here if you wish.
# Nginx Server Directive: API Domain
server {
- server_name api.<server-id>.creoline.cloud;
+ server_name <your-api-domain.tld>;
listen 9443;
...
} Save the file with Ctrl + s and then exit with Ctrl + x.
Next, reload the new NGINX configuration with the following command to ensure the final certificate issuance works correctly:
systemctl reload nginx The following command renews your Let’s Encrypt certificate so that the new domain is also properly protected:
certbot --nginx --expand -d <your-api-domain.tld> --non-interactive --agree-tos -m <your-email-address> If you have kept our server_name entry, we recommend also specifying the option -d api.<server-id>.creoline.cloud so that it remains protected by the SSL certificate.
You can then check whether you can successfully establish an encrypted connection via HTTPS by visiting <your-api-domain.tld>.
Customize the MinIO Admin Domain
Prerequisites
- Customize the corresponding DNS zone
- MinIO server (For a managed server, please contact our support team)
Configure the DNS Zone
If the API and admin domains are to be operated on the same main domain, please note this warning.
If you manage your DNS zones through our Customer Center, you’ll find all the important information in this Help Center article.
Customize the Nginx Configuration
Connect to your MinIO server via SSH as the root user and enter the following command.
nano /etc/nginx/conf.d/<server-id>.creoline.cloud.conf In the configuration file, you need to add an entry for the admin domain within the following NGINX server directive.
+ means this entry has been added (your desired domain)
- means this entry has been removed (Our preconfigured domain)
You can also keep our entry here if you wish.
# Nginx Server Directive: Admin Domain
server {
- server_name admin.<server-id>.creoline.cloud;
+ server_name <your-admin-domain.tld>;
listen 9443;
...
} Save the file with Ctrl + s and then exit with Ctrl + x.
Next, reload the new NGINX configuration with the following command to ensure that the final certificate issuance works correctly.
systemctl reload nginx Now you can renew the Let’s Encrypt certificate so that your domain is properly protected.
certbot --nginx --expand -d <your-admin-domain.tld> --non-interactive --agree-tos -m <your-email-address> If you have kept our server_name entry, we recommend also specifying the option -d admin.<server-id>.creoline.cloud so that this domain remains protected by the SSL certificate as well.
You can then check whether you can successfully establish an encrypted connection via HTTPS by visiting <your-admin-domain.tld>.