Skip to content

MinIO

High Performance Object Storage

minio diagram

MinIO is a high-performance, open-source object storage system designed for cloud-native and containerized environments. It provides an S3-compatible API that allows developers to store and retrieve unstructured data, such as photos, videos, backups, and log files, with scalability, durability, and security. With its lightweight and easy-to-deploy architecture, MinIO is ideal for building scalable data infrastructure for modern applications.

Key Features

  • S3-Compatible API: MinIO implements the Amazon S3 API, allowing seamless integration with existing S3-compatible applications and tools.
  • High Performance: MinIO is optimized for high throughput and low latency, making it suitable for use cases that require fast data access and retrieval.
  • Scalability: MinIO supports horizontal scaling, enabling users to add more nodes to their cluster to accommodate growing data volumes and workloads.
  • Data Protection: MinIO offers features such as erasure coding, encryption, and versioning to protect data integrity and confidentiality.
  • Multi-Tenancy: MinIO supports multi-tenancy, allowing users to create isolated buckets and access policies for different applications and users.

Getting Started

To get started with MinIO, download and install the software from the official website, or deploy it using Docker, Kubernetes, or other container orchestration platforms. The website provides comprehensive documentation, tutorials, and guides to help you set up and configure MinIO for your specific use case.

Community and Support

Join the MinIO community on GitHub to engage with other users, ask questions, share your projects, and contribute to the project. Stay informed about the latest updates, features, and best practices through community discussions and announcements.

Empower your applications with scalable and high-performance object storage using MinIO—a powerful and versatile solution for modern data infrastructure.

Volumes

/nfs-nas-swarm/config/
/nfs-nas-swarm/data/

Deployment

No Special requirments

Docker swarm file

version: '3.3'
services:
  app:
    image: minio/minio:latest
    command:
     - minio
     - server
     - /data
     - --console-address
     - :9001
    environment:
      PUID: '911'
      PGID: '911'
      MINIO_BROWSER_REDIRECT_URL: https://minio-console.vnerd.nl
        # MINIO_ROOT_PASSWORD_FILE: /password/root_password
      MINIO_ROOT_PASSWORD_FILE: /run/secrets/minio_password
      MINIO_ROOT_USER: admin
      MINIO_SERVER_URL: https://minio.vnerd.nl
    secrets:
     - minio_password
    ports:
     - 9000:9000
    volumes:
     - /swarm/data/minio:/data
     - /swarm/data/minio:/password
    networks:
     - traefik-public
    logging:
      driver: json-file
    deploy:
      labels:
        traefik.http.routers.minio-https.rule: Host(`minio.vnerd.nl`)
        traefik.http.routers.minioconsole-https.service: minioconsole
        traefik.http.services.minioconsole.loadbalancer.server.port: '9001'
        traefik.http.routers.minio-https.entrypoints: https
        traefik.http.routers.minioconsole-https.tls.certresolver: le
        traefik.http.routers.minioconsole-http.entrypoints: http
        traefik.http.routers.minio-http.middlewares: https-redirect
        traefik.http.routers.minio-http.rule: Host(`minio.vnerd.nl`)
        traefik.http.routers.minio-http.entrypoints: http
        traefik.http.routers.minio-https.service: minio
        traefik.http.services.minio.loadbalancer.server.port: '9000'
        traefik.http.routers.minioconsole-https.tls: 'true'
        traefik.http.routers.minio-https.tls: 'true'
        traefik.http.routers.minioconsole-http.rule: Host(`minio-console.vnerd.nl`)
        traefik.http.routers.minioconsole-http.middlewares: https-redirect
        traefik.constraint-label: traefik-public
        traefik.http.routers.minioconsole-https.rule: Host(`minio-console.vnerd.nl`)
        traefik.docker.network: traefik-public
        traefik.enable: 'true'
        traefik.http.routers.minio-https.tls.certresolver: le
        traefik.http.routers.minioconsole-https.entrypoints: https
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.labels.worker==enabled
networks:
  traefik-public:
    external: true
secrets:
   minio_password:
     external: true
# secrets:
#    minio_password:
#      file: /run/secrets/minio_password.txt

Notes

Comments