diff --git a/docker-minio/.env.example b/docker-minio/.env.example new file mode 100644 index 0000000..35d64d2 --- /dev/null +++ b/docker-minio/.env.example @@ -0,0 +1,2 @@ +MINIO_ROOT_USER= +MINIO_ROOT_PASSWORD= diff --git a/docker-minio/.gitignore b/docker-minio/.gitignore new file mode 100644 index 0000000..75d5e05 --- /dev/null +++ b/docker-minio/.gitignore @@ -0,0 +1,3 @@ +data/ +.env +file.txt diff --git a/docker-minio/Taskfile.yml b/docker-minio/Taskfile.yml new file mode 100644 index 0000000..53a1811 --- /dev/null +++ b/docker-minio/Taskfile.yml @@ -0,0 +1,58 @@ +version: '3' + +dotenv: [".env"] + +vars: + MINIO_ROOT_USER: "admin" + MINIO_ROOT_PASSWORD: "admin123" + +tasks: + up: + desc: Run MinIO in Docker + cmds: + - mkdir -p ./data + - | + docker run -d --rm \ + --name minio \ + -p 9000:9000 \ + -p 9001:9001 \ + -e MINIO_ROOT_USER={{.MINIO_ROOT_USER}} \ + -e MINIO_ROOT_PASSWORD={{.MINIO_ROOT_PASSWORD}} \ + -v ./data:/data \ + minio/minio:latest server /data --console-address ":9001" + + down: + desc: Stop MinIO container + cmds: + - docker stop minio || true + + status: + desc: Show MinIO container status + cmds: + - docker ps -f name=minio + + logs: + desc: Show MinIO container logs + cmds: + - docker logs -f minio + + wait: + desc: Wait until MinIO is ready + cmds: + - | + until curl -s -o /dev/null -w "%{http_code}" http://localhost:9000/minio/health/ready | grep -q "200"; do + echo "Waiting for MinIO..." + sleep 2 + done + echo "MinIO is ready!" + + test: + desc: Test MinIO connection + cmds: + - docker exec minio curl -s http://localhost:9000/minio/health/ready + + cli: + desc: Run arbitrary mc command via wrapper + cmds: + - ./mc.sh {{.CLI_ARGS}} + silent: true diff --git a/docker-minio/file.txt b/docker-minio/file.txt new file mode 100644 index 0000000..5b55536 --- /dev/null +++ b/docker-minio/file.txt @@ -0,0 +1 @@ +ciao nuvolaris diff --git a/docker-minio/mc.sh b/docker-minio/mc.sh new file mode 100755 index 0000000..0c4c9c7 --- /dev/null +++ b/docker-minio/mc.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +docker run --rm --network host \ + -v "$PWD":/data \ + -e MC_HOST_local=http://admin:admin123@localhost:9000 \ + minio/mc "$@"