Skip to content

Instantly share code, notes, and snippets.

@diegofcornejo
Last active February 22, 2025 14:34
Show Gist options
  • Save diegofcornejo/1d515917901db139f89446d49b2c4a36 to your computer and use it in GitHub Desktop.
Save diegofcornejo/1d515917901db139f89446d49b2c4a36 to your computer and use it in GitHub Desktop.

docker-compose.yml

services:
  minio:
    image: quay.io/minio/minio
    container_name: minio
    ports:
      - "127.0.0.1:9200:9000"
      - "127.0.0.1:9201:9001"
    volumes:
      - ./data:/data
    environment:
      MINIO_ROOT_USER: <user>
      MINIO_ROOT_PASSWORD: <password>
      MINIO_PROMETHEUS_AUTH_TYPE: public
      MINIO_PROMETHEUS_URL: http://172.17.0.1:9090
      MINIO_BROWSER_REDIRECT_URL: https://console.minio.example.com
    command: server /data --console-address ":9001"

aws cli example

 aws s3 cp s3://randomtechguy/d.webp . --endpoint-url https://minio.example.com --profile minio-profile

View prometheus metrics in minio webui

sudo ufw allow from 172.30.0.0/16 to any port 9090 comment "Allow minio_default network access to Prometheus"
upstream minio_s3 {
least_conn;
server 127.0.0.1:9200;
}
upstream minio_console {
least_conn;
server 127.0.0.1:9201;
}
server {
server_name minio.example.com;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio_s3; # This uses the upstream directive definition to load balance
}
}
server {
server_name console.minio.example.com;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# To support websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
proxy_pass http://minio_console/; # This uses the upstream directive definition to load balance
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment