chore(minio): Ingress disabled and removed bucket and region logic

This commit is contained in:
2025-05-06 01:46:03 +02:00
parent a224907328
commit e8421beff3
5 changed files with 18 additions and 38 deletions

View File

@@ -1,3 +1,5 @@
## 1.0.x ## 1.1.0
- First stable release
## 1.0.0
- Initial release - Initial release

View File

@@ -4,7 +4,7 @@ LABEL io.hass.name="MinIO"
LABEL io.hass.description="S3-compatible object storage for HA" LABEL io.hass.description="S3-compatible object storage for HA"
LABEL io.hass.arch="amd64|aarch64" LABEL io.hass.arch="amd64|aarch64"
LABEL io.hass.type="addon" LABEL io.hass.type="addon"
LABEL io.hass.version="1.0.64" LABEL io.hass.version="1.1.0"
# Install curl, jq and ca-certificates # Install curl, jq and ca-certificates
RUN apk add --no-cache bash curl jq ca-certificates RUN apk add --no-cache bash curl jq ca-certificates

View File

@@ -15,22 +15,20 @@ It is designed to be **production-ready**, secure, lightweight, and accessible d
```yaml ```yaml
access_key: admin access_key: admin
secret_key: CHANGEME-strong-password secret_key: CHANGEME-strong-password
region: us-east-1
bucket: backup
``` ```
## 🚀 Installation
1. Go to Home Assistant → **Supervisor → Add-on Store**
2. Add this repository (Settings → Repositories → `https://github.com/martemme/HomeAssistantAddons`)
3. Install the add-on, configure the credentials and start it
## 🌐 Access ## 🌐 Access
Once installed, access MinIO via the sidebar or at: Once installed, access MinIO via the sidebar or at:
`http://<ip_hass>:9000` (if Ingress is not available) `http://<ip_hass>:9000` (if Ingress is not available)
## 🚀 Installation
1. Go to Home Assistant → **Supervisor → Add-on Store**
2. Add your custom Git repository (Settings → Repositories → `https://github.com/<your-username>/minio-addon`)
3. Install the add-on, start it, and access MinIO via Ingress
## 🧾 Requirements ## 🧾 Requirements
- Home Assistant OS or Supervised - Home Assistant OS or Supervised
@@ -43,21 +41,14 @@ Once installed, access MinIO via the sidebar or at:
minio/ minio/
├── config.json # Add-on definition ├── config.json # Add-on definition
├── Dockerfile # MinIO container ├── Dockerfile # MinIO container
├── run.sh # Entry point with TLS support and auto-creation of buckets ├── run.sh # Startup script
├── README.md ├── README.md
└── ... └── ...
``` ```
## 🧠 Notes ## 🧠 Notes
The bucket specified in `bucket:` is automatically created if it does not exist.
If you use Longhorn, you can point backups to:
```bash
http://<IP_HASS>:9000/longhorn-backup
```
The credentials are passed as environment variables during bootstrap. The credentials are passed as environment variables during bootstrap.
The container is based on `alpine:3.18` image
## 🛡 Security ## 🛡 Security
> ⚠️ Always use strong passwords. > ⚠️ Always use strong passwords.

View File

@@ -1,6 +1,6 @@
{ {
"name": "MinIO S3 Server", "name": "MinIO S3 Server",
"version": "1.0.64", "version": "1.1.0",
"slug": "minio", "slug": "minio",
"description": "MinIO Server S3-compatible object storage server", "description": "MinIO Server S3-compatible object storage server",
"arch": [ "arch": [
@@ -14,9 +14,7 @@
"host_network": true, "host_network": true,
"panel_icon": "mdi:database", "panel_icon": "mdi:database",
"panel_title": "MinIO", "panel_title": "MinIO",
"ingress": true, "ingress": false,
"ingress_port": 9001,
"ingress_stream": false,
"ports": { "ports": {
"9000/tcp": 9000, "9000/tcp": 9000,
"9001/tcp": 9001 "9001/tcp": 9001
@@ -27,15 +25,11 @@
}, },
"options": { "options": {
"access_key": "admin", "access_key": "admin",
"secret_key": "CHANGEME-strong-password", "secret_key": "CHANGEME-strong-password"
"region": "us-east-1",
"bucket": "backup"
}, },
"schema": { "schema": {
"access_key": "str", "access_key": "str",
"secret_key": "str", "secret_key": "str"
"region": "str",
"bucket": "str"
}, },
"build_from": { "build_from": {
"amd64": "alpine:3.18", "amd64": "alpine:3.18",

View File

@@ -10,24 +10,17 @@ CONFIG="/data/options.json"
# The jq command is used to parse the JSON file and extract the values # The jq command is used to parse the JSON file and extract the values
ACCESS_KEY=$(jq -r .access_key "$CONFIG") ACCESS_KEY=$(jq -r .access_key "$CONFIG")
SECRET_KEY=$(jq -r .secret_key "$CONFIG") SECRET_KEY=$(jq -r .secret_key "$CONFIG")
REGION=$(jq -r .region "$CONFIG")
BUCKET=$(jq -r .bucket "$CONFIG")
# Configure MinIO environment variables # Configure MinIO environment variables
# These variables are used to set up the MinIO server # These variables are used to set up the MinIO server
# The ACCESS_KEY and SECRET_KEY are used for authentication # The ACCESS_KEY and SECRET_KEY are used for authentication
# The REGION is used to set the region for the MinIO server
# The BUCKET is the name of the bucket to be created
export MINIO_ROOT_USER="$ACCESS_KEY" export MINIO_ROOT_USER="$ACCESS_KEY"
export MINIO_ROOT_PASSWORD="$SECRET_KEY" export MINIO_ROOT_PASSWORD="$SECRET_KEY"
export MINIO_REGION="${REGION:-us-east-1}"
# Check if the bucket exists, if not create it # Check if the bucket exists, if not create it
DATA_DIR="/data/$BUCKET" mkdir -p /data
mkdir -p "$DATA_DIR"
echo "[INFO] Starting MinIO (user: $MINIO_ROOT_USER, region: $MINIO_REGION, bucket: $BUCKET)" echo "[INFO] Starting MinIO (user: $MINIO_ROOT_USER)"
# Autodetect if TLS certs are present # Autodetect if TLS certs are present
# If they are, launch with HTTPS, otherwise use HTTP # If they are, launch with HTTPS, otherwise use HTTP