diff --git a/README-zh.md b/README-zh.md index 5ef4d15..f4f3912 100644 --- a/README-zh.md +++ b/README-zh.md @@ -153,7 +153,7 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V ## 演示视频 还有什么比**演示视频**好: -- LaraDock v4.0 (即将到来的...) +- LaraDock [v4.0](https://www.youtube.com/watch?v=TQii1jDa96Y) - LaraDock [v2.2](https://www.youtube.com/watch?v=-DamFMczwDA) - LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI) - LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80) diff --git a/docker-compose.yml b/docker-compose.yml index 51101e8..27ae21b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -120,6 +120,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: @@ -336,6 +348,9 @@ services: build: ./selenium ports: - "4444:4444" + volumes: + # see https://github.com/SeleniumHQ/docker-selenium#running-the-images + - /dev/shm:/dev/shm ### Volumes Setup ########################################### @@ -354,6 +369,8 @@ volumes: driver: "local" mongo: driver: "local" + minio: + driver: "local" rethinkdb: driver: "local" phpmyadmin: diff --git a/docs/_settings/content/documentation/index.md b/docs/_settings/content/documentation/index.md index 3494b1a..f8785f8 100644 --- a/docs/_settings/content/documentation/index.md +++ b/docs/_settings/content/documentation/index.md @@ -850,8 +850,35 @@ docker-compose up -d rethinkdb - set the `DB_DATABASE` to `database`. +
+ +## 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 + ```
diff --git a/docs/_settings/content/introduction/index.md b/docs/_settings/content/introduction/index.md index 850796c..463bf0b 100644 --- a/docs/_settings/content/introduction/index.md +++ b/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 diff --git a/minio/Dockerfile b/minio/Dockerfile new file mode 100644 index 0000000..88a7542 --- /dev/null +++ b/minio/Dockerfile @@ -0,0 +1,5 @@ +FROM minio/minio + +MAINTAINER Thor Erik Lie + +ENTRYPOINT ["minio", "server", "/export"] diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index bb80842..1775cf6 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -55,8 +55,11 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \ ARG INSTALL_XDEBUG=false RUN if [ ${INSTALL_XDEBUG} = true ]; then \ # Install the xdebug extension - pecl install xdebug && \ - docker-php-ext-enable xdebug \ + # pecl install xdebug && docker-php-ext-enable xdebug \ + # workaround for https://github.com/docker-library/php/issues/133 + # - Xdebug breaks on access to class static property + apt-get install -y php5-xdebug && \ + echo "zend_extension=/usr/lib/php5/20131226/xdebug.so" > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ ;fi # Copy xdebug configration for remote debugging diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 39b0996..0e21a56 100644 --- a/workspace/Dockerfile +++ b/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 && \ @@ -195,7 +195,7 @@ ENV INSTALL_NODE ${INSTALL_NODE} ENV NVM_DIR /home/laradock/.nvm RUN if [ ${INSTALL_NODE} = true ]; then \ # Install nvm (A Node Version Manager) - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash && \ + curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \ . $NVM_DIR/nvm.sh && \ nvm install ${NODE_VERSION} && \ nvm use ${NODE_VERSION} && \ @@ -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 diff --git a/workspace/mc/config.json b/workspace/mc/config.json new file mode 100644 index 0000000..706c7c1 --- /dev/null +++ b/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" + } + } +}