This repository contains the docker-compose file for running Minio server and Nginx server. The Nginx server is used as a reverse proxy server for the Minio server. The Nginx server is also used to serve the static files from the Minio server.
Minio is an open-source object storage server compatible with Amazon S3 APIs. Minio is a high-performance distributed object storage server, designed for large-scale private cloud infrastructure. Minio is a self-hosted alternative to Amazon S3.
Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache. The Nginx server is used as a reverse proxy server for the Minio server. The Nginx server is also used to serve the static files from the Minio server.
Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration.
Before running the docker-compose file, make sure that you have installed the following tools:
- Docker
- Docker Compose
- Nginx
- Certbot (Optional)
- Clone the repository
git https://github.com/teispace/minio-docker-config.git- Change the directory
cd minio-docker-config- Copy the
.env.examplefile to.envfile
cp .env.example .env-
Update the
.envfile with the required values -
Run the docker-compose file
docker-compose up -d- Change the server name in the
nginx.conffile with the domain name in both console and minio
server_name console.example.com;server_name assets.example.com;- Copy the
nginx.conffile to the Nginx configuration directory
cp nginx.conf /etc/nginx/sites-available/minio- Create a symbolic link to the
sites-enableddirectory
ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/minio- Restart the Nginx server
systemctl restart nginx- Generate the SSL certificate using Certbot
- Note: Certbot is optional. You can use any other SSL certificate provider. Before running the Certbot command, make sure that the domain name is pointing to the server IP address.
certbot --nginx- Access the Minio server using the domain name
https://console.example.com- Access the Minio server using the IP address
https://127.0.0.1:9001- Allow the firewall rule for the Nginx server if not added already
ufw allow 'Nginx Full'For more information, please refer to the Minio Documentation and Nginx Documentation.
To access the Minio server, open a web browser and enter the Minio server URL in the address bar. The Minio server URL is https://console.example.com or https://server-ip-address:9001. For API access, use url https://assets.example.com.