# MinIO [**MinIO**](https://github.com/minio/minio), an [Amazon S3](https://aws.amazon.com/s3/) compatible object storage server. ## Scope Scope of the **basic setup** is to run minio - as unprivileged user - with a directoy mounted for data - with the container port 9000 (s3 + web ui) mapped to a host port Scope of the **advance setup** is to run minio - web ui (console, port 9001) with basic auth behind a reverse-proxy (port 443) with letsencrypt - s3 (port 9000) with the tls cert from above and restricted to certain source IPs ## Configuration ### Basic Configuration ``` # Prepare a directory miniodir="/opt/docker/minio" [ -d $miniodir ] && echo "Directory $miniodir already exists" && exit 1 mkdir -p /opt/docker/ cd /opt/docker/ # Clone repo git clone https://git.in-ulm.de/ulpeters/minio.git # Prepare your configuration cp .env.template .env # [Generate](../KEY-GENERATION.md) and add your admin keys in .env # Define your port mapping # Create a home and data directory owned by 1000:1000 mkdir -p $miniodir/data/home $miniodir/data/data chown -R 1000:1000 $miniodir ``` ### Advanced Configuration #### Preconditions: - [Reverse proxy with Letsencrypt companion](https://git.in-ulm.de/ulpeters/reverse-proxy) running #### Steps - set $HOSTNAME in .env - set $CERT_PATH in .env - Setup FW