Add Minio container

Minio is an s3 compatible server written in go.
This commit is contained in:
Thor Erik Lie 2017-03-05 15:06:22 +01:00
parent 84b742315a
commit a7503ce3f3
6 changed files with 94 additions and 1 deletions

View File

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

View File

@ -850,8 +850,35 @@ docker-compose up -d rethinkdb
- set the `DB_DATABASE` to `database`. - 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> <br>

View File

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

5
minio/Dockerfile Normal file
View File

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

View File

@ -374,6 +374,22 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \ echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \
;fi ;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 # Final Touch

29
workspace/mc/config.json Normal file
View File

@ -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"
}
}
}