Jelajahi Sumber

Add Minio container

Minio is an s3 compatible server written in go.
Thor Erik Lie 8 tahun lalu
induk
melakukan
a7503ce3f3

+ 15 - 0
docker-compose.yml

@@ -29,6 +29,7 @@ services:
                 - INSTALL_LARAVEL_ENVOY=false
                 - INSTALL_DEPLOYER=false
                 - INSTALL_LINUXBREW=false
+                - INSTALL_MC=false
                 - PUID=1000
                 - PGID=1000
                 - NODE_VERSION=stable
@@ -120,6 +121,18 @@ services:
         links:
             - workspace
 
+### Minio Container #########################################
+
+    minio:
+        build: ./minio
+        volumes:
+            - minio:/export
+        ports:
+          - "9000:9000"
+        environment:
+          MINIO_ACCESS_KEY: access
+          MINIO_SECRET_KEY: secretkey
+
 ### MySQL Container #########################################
 
     mysql:
@@ -354,6 +367,8 @@ volumes:
         driver: "local"
     mongo:
         driver: "local"
+    minio:
+        driver: "local"
     rethinkdb:
         driver: "local"
     phpmyadmin:

+ 27 - 0
docs/_settings/content/documentation/index.md

@@ -850,8 +850,35 @@ docker-compose up -d rethinkdb
 - set the `DB_DATABASE` to `database`.
 
 
+<br>
+<a name="Use-Minio"></a>
+## Use Minio
+
+1 - Configure Minio:
+  - On the workspace container, change `INSTALL_MC` to true to get the client
+  - Set `MINIO_ACCESS_KEY` and `MINIO_ACCESS_SECRET` if you wish to set proper keys
+
+2 - Run the Minio Container (`minio`) with the `docker-compose up` command. Example:
+
+```bash
+docker-compose up -d minio
+```
+
+3 - Open your browser and visit the localhost on port **9000** at the following URL:  `http://localhost:9000`
 
+4 - Create a bucket either through the webui or using the mc client:
+  ```bash
+  mc mb minio/bucket
+  ```
 
+5 - When configuring your other clients use the following details:
+  ```
+  S3_HOST=http://minio
+  S3_KEY=access
+  S3_SECRET=secretkey
+  S3_REGION=us-east-1
+  S3_BUCKET=bucket
+  ```
 
 
 <br>

+ 1 - 0
docs/_settings/content/introduction/index.md

@@ -165,6 +165,7 @@ What's better than a **Demo Video**:
 	- PgAdmin
 	- ElasticSearch
 	- Selenium
+	- Minio
 	- Workspace
 		- PHP7-CLI
 		- Composer

+ 5 - 0
minio/Dockerfile

@@ -0,0 +1,5 @@
+FROM minio/minio
+
+MAINTAINER Thor Erik Lie <thor@thorerik.com>
+
+ENTRYPOINT ["minio", "server", "/export"]

+ 17 - 1
workspace/Dockerfile

@@ -113,7 +113,7 @@ RUN echo "" >> ~/.bashrc && \
     echo "# Load Custom Aliases" >> ~/.bashrc && \
     echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
     echo "" >> ~/.bashrc
-    
+
 USER root
 RUN echo "" >> ~/.bashrc && \
     echo "# Load Custom Aliases" >> ~/.bashrc && \
@@ -374,6 +374,22 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
     echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \
 ;fi
 
+#####################################
+# Minio:
+#####################################
+USER root
+ARG INSTALL_MC=false
+ENV INSTALL_MC ${INSTALL_MC}
+
+COPY mc/config.json /root/.mc/config.json
+
+RUN if [ ${INSTALL_MC} = true ]; then\
+    curl -fsSL -o /usr/local/bin/mc https://dl.minio.io/client/mc/release/linux-amd64/mc && \
+    chmod +x /usr/local/bin/mc \
+;fi
+
+USER laradock
+
 #
 #--------------------------------------------------------------------------
 # Final Touch

+ 29 - 0
workspace/mc/config.json

@@ -0,0 +1,29 @@
+{
+	"version": "8",
+	"hosts": {
+		"gcs": {
+			"url": "https://storage.googleapis.com",
+			"accessKey": "YOUR-ACCESS-KEY-HERE",
+			"secretKey": "YOUR-SECRET-KEY-HERE",
+			"api": "S3v2"
+		},
+		"minio": {
+			"url": "http://minio:9000",
+			"accessKey": "access",
+			"secretKey": "secretkey",
+			"api": "S3v4"
+		},
+		"play": {
+			"url": "https://play.minio.io:9000",
+			"accessKey": "Q3AM3UQ867SPQQA43P2F",
+			"secretKey": "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
+			"api": "S3v4"
+		},
+		"s3": {
+			"url": "https://s3.amazonaws.com",
+			"accessKey": "YOUR-ACCESS-KEY-HERE",
+			"secretKey": "YOUR-SECRET-KEY-HERE",
+			"api": "S3v4"
+		}
+	}
+}