Skip to content

Commit a7503ce

Browse files
committed
Add Minio container
Minio is an s3 compatible server written in go.
1 parent 84b7423 commit a7503ce

File tree

6 files changed

+94
-1
lines changed

6 files changed

+94
-1
lines changed

docker-compose.yml

+15
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ services:
2929
- INSTALL_LARAVEL_ENVOY=false
3030
- INSTALL_DEPLOYER=false
3131
- INSTALL_LINUXBREW=false
32+
- INSTALL_MC=false
3233
- PUID=1000
3334
- PGID=1000
3435
- NODE_VERSION=stable
@@ -120,6 +121,18 @@ services:
120121
links:
121122
- workspace
122123

124+
### Minio Container #########################################
125+
126+
minio:
127+
build: ./minio
128+
volumes:
129+
- minio:/export
130+
ports:
131+
- "9000:9000"
132+
environment:
133+
MINIO_ACCESS_KEY: access
134+
MINIO_SECRET_KEY: secretkey
135+
123136
### MySQL Container #########################################
124137

125138
mysql:
@@ -354,6 +367,8 @@ volumes:
354367
driver: "local"
355368
mongo:
356369
driver: "local"
370+
minio:
371+
driver: "local"
357372
rethinkdb:
358373
driver: "local"
359374
phpmyadmin:

docs/_settings/content/documentation/index.md

+27
Original file line numberDiff line numberDiff line change
@@ -850,8 +850,35 @@ docker-compose up -d rethinkdb
850850
- set the `DB_DATABASE` to `database`.
851851

852852

853+
<br>
854+
<a name="Use-Minio"></a>
855+
## Use Minio
856+
857+
1 - Configure Minio:
858+
- On the workspace container, change `INSTALL_MC` to true to get the client
859+
- Set `MINIO_ACCESS_KEY` and `MINIO_ACCESS_SECRET` if you wish to set proper keys
860+
861+
2 - Run the Minio Container (`minio`) with the `docker-compose up` command. Example:
862+
863+
```bash
864+
docker-compose up -d minio
865+
```
866+
867+
3 - Open your browser and visit the localhost on port **9000** at the following URL: `http://localhost:9000`
853868

869+
4 - Create a bucket either through the webui or using the mc client:
870+
```bash
871+
mc mb minio/bucket
872+
```
854873

874+
5 - When configuring your other clients use the following details:
875+
```
876+
S3_HOST=http://minio
877+
S3_KEY=access
878+
S3_SECRET=secretkey
879+
S3_REGION=us-east-1
880+
S3_BUCKET=bucket
881+
```
855882

856883

857884
<br>

docs/_settings/content/introduction/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ What's better than a **Demo Video**:
165165
- PgAdmin
166166
- ElasticSearch
167167
- Selenium
168+
- Minio
168169
- Workspace
169170
- PHP7-CLI
170171
- Composer

minio/Dockerfile

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM minio/minio
2+
3+
MAINTAINER Thor Erik Lie <[email protected]>
4+
5+
ENTRYPOINT ["minio", "server", "/export"]

workspace/Dockerfile

+17-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ RUN echo "" >> ~/.bashrc && \
113113
echo "# Load Custom Aliases" >> ~/.bashrc && \
114114
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
115115
echo "" >> ~/.bashrc
116-
116+
117117
USER root
118118
RUN echo "" >> ~/.bashrc && \
119119
echo "# Load Custom Aliases" >> ~/.bashrc && \
@@ -374,6 +374,22 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
374374
echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \
375375
;fi
376376

377+
#####################################
378+
# Minio:
379+
#####################################
380+
USER root
381+
ARG INSTALL_MC=false
382+
ENV INSTALL_MC ${INSTALL_MC}
383+
384+
COPY mc/config.json /root/.mc/config.json
385+
386+
RUN if [ ${INSTALL_MC} = true ]; then\
387+
curl -fsSL -o /usr/local/bin/mc https://dl.minio.io/client/mc/release/linux-amd64/mc && \
388+
chmod +x /usr/local/bin/mc \
389+
;fi
390+
391+
USER laradock
392+
377393
#
378394
#--------------------------------------------------------------------------
379395
# Final Touch

workspace/mc/config.json

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"version": "8",
3+
"hosts": {
4+
"gcs": {
5+
"url": "https://storage.googleapis.com",
6+
"accessKey": "YOUR-ACCESS-KEY-HERE",
7+
"secretKey": "YOUR-SECRET-KEY-HERE",
8+
"api": "S3v2"
9+
},
10+
"minio": {
11+
"url": "http://minio:9000",
12+
"accessKey": "access",
13+
"secretKey": "secretkey",
14+
"api": "S3v4"
15+
},
16+
"play": {
17+
"url": "https://play.minio.io:9000",
18+
"accessKey": "Q3AM3UQ867SPQQA43P2F",
19+
"secretKey": "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
20+
"api": "S3v4"
21+
},
22+
"s3": {
23+
"url": "https://s3.amazonaws.com",
24+
"accessKey": "YOUR-ACCESS-KEY-HERE",
25+
"secretKey": "YOUR-SECRET-KEY-HERE",
26+
"api": "S3v4"
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)