Skip to content

KelpHect/minio-coolify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MinIO Docker Images

Automated builds of MinIO Docker images from official releases.

Since MinIO stopped providing pre-built Docker images for new releases, this repository automatically builds and publishes them to both GitHub Container Registry and Docker Hub.

If you need a specific version / release, open an issue. I (Andras) will make it available.

Available Images

Images are available at:

GitHub Container Registry (GHCR):

ghcr.io/coollabsio/minio:<tag>

Docker Hub:

docker.io/coollabsio/minio:<tag>
# or simply
coollabsio/minio:<tag>

Tags

  • latest - Latest MinIO release
  • RELEASE.2024-10-13T13-34-11Z - Specific release version (full release name)
  • 2024-10-13T13-34-11Z - Specific release version (without RELEASE. prefix)

Usage

Basic Usage

# Using Docker Hub (simpler, no authentication needed)
docker run -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=minioadmin \
  -e MINIO_ROOT_PASSWORD=minioadmin \
  -v /path/to/data:/data \
  coollabsio/minio:latest \
  server /data --console-address ":9001"

# Or using GitHub Container Registry
docker run -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=minioadmin \
  -e MINIO_ROOT_PASSWORD=minioadmin \
  -v /path/to/data:/data \
  ghcr.io/coollabsio/minio:latest \
  server /data --console-address ":9001"

Docker Compose (1-click deployment)

A ready-to-use docker-compose.yml is included in this repository.

Coolify

Deploy directly from Coolify using the compose file in this repo. Coolify automatically:

  • Generates a secure root username (SERVICE_USER_MINIO)
  • Generates a secure root password (SERVICE_PASSWORD_MINIO)
  • Handles SSL termination via its built-in Traefik reverse proxy

After adding the service in Coolify, configure two domains directly in Coolify / Traefik:

  • One domain for the S3 API on port 9000, and set the same URL as MINIO_SERVER_URL
  • One domain for the MinIO web console on port 9001, and set the same URL as MINIO_BROWSER_REDIRECT_URL

This keeps the Coolify-managed domains and the MinIO-generated redirect / presigned URLs aligned.

Standalone docker compose (without Coolify)

# 1. Copy the example environment file
cp .env.example .env

# 2. Edit .env – set a strong username/password and the public URLs.
#    MINIO_SERVER_URL and MINIO_BROWSER_REDIRECT_URL should reflect how
#    clients will reach MinIO (e.g. behind your own reverse proxy).

# 3. Add a port-binding override so the container is reachable:
cat > docker-compose.override.yml <<'EOF'
services:
  minio:
    ports:
      - "9000:9000"   # S3 API
      - "9001:9001"   # Web Console
EOF

# 4. Start MinIO
docker compose up -d
Compose file contents
services:
  minio:
    image: coollabsio/minio:latest
    command: server /data --console-address ":9001"
    environment:
      - MINIO_ROOT_USER=$SERVICE_USER_MINIO
      - MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO
      - MINIO_SERVER_URL=$MINIO_SERVER_URL
      - MINIO_BROWSER_REDIRECT_URL=$MINIO_BROWSER_REDIRECT_URL
    volumes:
      - minio-data:/data
    healthcheck:
      test: ["CMD", "mc", "ready", "local"]
      interval: 5s
      timeout: 20s
      retries: 10

volumes:
  minio-data:

Building Locally

To build an image locally:

# Build latest version
docker build -t minio:test .

# Build specific version
docker build --build-arg MINIO_VERSION=RELEASE.2024-10-13T13-34-11Z -t minio:test .

Architecture

  • Multi-platform: Built for both linux/amd64 and linux/arm64
  • Source-based: Compiled from official MinIO source code at each release
  • Minimal base: Uses Red Hat UBI9 micro image for security and size
  • Official scripts: Uses MinIO's official docker-entrypoint.sh and other scripts from the cloned repository

Ports

  • 9000: MinIO S3 API endpoint
  • 9001: MinIO Web Console (admin UI)

Environment Variables

Variable Description
SERVICE_USER_MINIO Root access key (username). Auto-generated by Coolify.
SERVICE_PASSWORD_MINIO Root secret key (password). Auto-generated by Coolify.
MINIO_SERVER_URL Public URL/domain for the S3 API endpoint (port 9000). Set this to the same domain you configure in Coolify for the API.
MINIO_BROWSER_REDIRECT_URL Public URL/domain for the web console (port 9001). Set this to the same domain you configure in Coolify for the console.
MINIO_CONFIG_ENV_FILE Path to an optional MinIO configuration file.

See the MinIO documentation for the full list of supported variables.

License

This build automation is provided as-is. MinIO itself is licensed under AGPL-3.0.

Note: According to MinIO's license terms, production use of compiled-from-source binaries is at your own risk. For production deployments, MinIO recommends their enterprise offerings.

Links

About

Automated MinIO docker images coolify deployment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dockerfile 100.0%