Skip to content

Commit c00fe5d

Browse files
committed
Merge branch 'multiple-projects-improvement'
* multiple-projects-improvement: updated env-example and removed .env.example complete missings Seperated mysqli and tokenizer as seperate options without putting them under code igniter Apache should just go to /var/www not /var/www/public when supporting multiple projects fixed example and docker-compose.yml Fixed php-fpm variables and example Split up mysqli and tokenizer Removed homestead entirely this time Removed homestead entirely this time Removed Homestead reference in all DB containers Removed reference to homestead Fixed timezone issue in docker-compose.yml Added NGINX from env file and updated env-example Updated PHP-FPM container to accept .env variables Added workspace from env file and updated env-example Removed .env file Added env-example and adjusted docker-compose yml to support new env file Updated gitignore
2 parents 30cf27e + f615354 commit c00fe5d

8 files changed

Lines changed: 235 additions & 108 deletions

File tree

.env

Lines changed: 0 additions & 1 deletion
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.idea
22
/logs
33
/data
4+
.env

apache2/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ ARG PHP_SOCKET=php-fpm:9000
66

77
ENV WEB_PHP_SOCKET=$PHP_SOCKET
88

9-
ENV WEB_DOCUMENT_ROOT=/var/www/public
9+
ENV WEB_DOCUMENT_ROOT=/var/www/
1010

1111
EXPOSE 80 443
1212

13-
WORKDIR /var/www/public
13+
WORKDIR /var/www/
1414

1515
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
1616

docker-compose.yml

Lines changed: 82 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,39 @@ services:
77
applications:
88
image: tianon/true
99
volumes:
10-
- ../:/var/www
11-
# - ../sample/:/var/www/sample
10+
- ${APPLICATIONS_HOST_DIR}:/var/www
1211

1312
### Workspace Utilities Container ###########################
1413

1514
workspace:
1615
build:
1716
context: ./workspace
18-
args:
19-
- INSTALL_XDEBUG=false
20-
- INSTALL_SOAP=false
21-
- INSTALL_MONGO=false
22-
- INSTALL_NODE=false
23-
- INSTALL_YARN=false
24-
- INSTALL_DRUSH=false
25-
- INSTALL_AEROSPIKE_EXTENSION=false
26-
- INSTALL_V8JS_EXTENSION=false
27-
- COMPOSER_GLOBAL_INSTALL=false
28-
- INSTALL_WORKSPACE_SSH=false
29-
- INSTALL_LARAVEL_ENVOY=false
30-
- INSTALL_DEPLOYER=false
31-
- INSTALL_LINUXBREW=false
32-
- INSTALL_MC=false
33-
- PUID=1000
34-
- PGID=1000
35-
- NODE_VERSION=stable
36-
- YARN_VERSION=latest
37-
- TZ=UTC
38-
# dockerfile: Dockerfile-71
17+
args:
18+
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
19+
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
20+
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
21+
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
22+
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
23+
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
24+
- INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION}
25+
- INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION}
26+
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
27+
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
28+
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
29+
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
30+
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
31+
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
32+
- PUID=${WORKSPACE_PUID}
33+
- PGID=${WORKSPACE_PGID}
34+
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
35+
- YARN_VERSION=${WORKSPACE_TIMEZONE}
36+
- TZ=${WORKSPACE_TIMEZONE}
3937
volumes_from:
4038
- applications
4139
extra_hosts:
42-
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
43-
- "dockerhost:10.0.75.1"
40+
- "dockerhost:${DOCKER_HOST_IP}"
4441
ports:
45-
- "2222:22"
42+
- "${WORKSPACE_SSH_PORT}:22"
4643
tty: true
4744

4845
### PHP-FPM Container #######################################
@@ -51,31 +48,29 @@ services:
5148
build:
5249
context: ./php-fpm
5350
args:
54-
- INSTALL_XDEBUG=false
55-
- INSTALL_SOAP=false
56-
- INSTALL_MONGO=false
57-
- INSTALL_ZIP_ARCHIVE=false
58-
- INSTALL_BCMATH=false
59-
- INSTALL_PHPREDIS=false
60-
- INSTALL_MEMCACHED=false
61-
- INSTALL_OPCACHE=false
62-
- INSTALL_EXIF=false
63-
- INSTALL_AEROSPIKE_EXTENSION=false
64-
- CODEIGNITER=false
65-
- GHOSTSCRIPT=false
66-
dockerfile: Dockerfile-70
51+
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
52+
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
53+
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
54+
- INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
55+
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
56+
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
57+
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
58+
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
59+
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
60+
- INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION}
61+
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
62+
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
63+
dockerfile: ${PHP_FPM_DOCKER_FILE}
6764
volumes_from:
6865
- applications
6966
expose:
7067
- "9000"
7168
depends_on:
7269
- workspace
7370
extra_hosts:
74-
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
75-
- "dockerhost:10.0.75.1"
71+
- "dockerhost:${DOCKER_HOST_IP}"
7672
environment:
77-
# IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
78-
- PHP_IDE_CONFIG=serverName=laravel
73+
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
7974

8075
### Nginx Server Container ##################################
8176

@@ -86,12 +81,12 @@ services:
8681
- PHP_UPSTREAM=php-fpm
8782
volumes_from:
8883
- applications
89-
volumes:
90-
- ./logs/nginx/:/var/log/nginx
91-
- ./nginx/sites/:/etc/nginx/sites-available
84+
volumes:
85+
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
86+
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
9287
ports:
93-
- "80:80"
94-
- "443:443"
88+
- "${NGINX_HOST_HTTP_PORT}:80"
89+
- "${NGINX_HOST_HTTPS_PORT}:443"
9590
depends_on:
9691
- php-fpm
9792

@@ -101,14 +96,14 @@ services:
10196
build:
10297
context: ./apache2
10398
args:
104-
- PHP_SOCKET=php-fpm:9000
99+
- PHP_SOCKET=${PHP_SOCKET}
105100
volumes_from:
106101
- applications
107102
volumes:
108-
- ./logs/apache2:/var/log/apache2
103+
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
109104
ports:
110-
- "80:80"
111-
- "443:443"
105+
- "${APACHE_HOST_HTTP_PORT}:80"
106+
- "${APACHE_HOST_HTTPS_PORT}:443"
112107
depends_on:
113108
- php-fpm
114109

@@ -130,7 +125,7 @@ services:
130125
volumes:
131126
- minio:/export
132127
ports:
133-
- "9000:9000"
128+
- "${MINIO_PORT}:9000"
134129
environment:
135130
MINIO_ACCESS_KEY: access
136131
MINIO_SECRET_KEY: secretkey
@@ -141,14 +136,14 @@ services:
141136
build:
142137
context: ./mysql
143138
args:
144-
- MYSQL_DATABASE=homestead
145-
- MYSQL_USER=homestead
146-
- MYSQL_PASSWORD=secret
147-
- MYSQL_ROOT_PASSWORD=root
139+
- MYSQL_DATABASE=${MYSQL_DATABASE}
140+
- MYSQL_USER=${MYSQL_USER}
141+
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
142+
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
148143
volumes:
149144
- mysql:/var/lib/mysql
150145
ports:
151-
- "3306:3306"
146+
- "${MYSQL_PORT}:3306"
152147

153148
### MariaDB Container #######################################
154149

@@ -157,12 +152,12 @@ services:
157152
volumes:
158153
- mariadb:/var/lib/mysql
159154
ports:
160-
- "3306:3306"
155+
- "${MARIADB_PORT}:3306"
161156
environment:
162-
MYSQL_DATABASE: homestead
163-
MYSQL_USER: homestead
164-
MYSQL_PASSWORD: secret
165-
MYSQL_ROOT_PASSWORD: root
157+
MYSQL_DATABASE: ${MARIADB_DATABASE}
158+
MYSQL_USER: ${MARIADB_USER}
159+
MYSQL_PASSWORD: ${MARIADB_PASSWORD}
160+
MYSQL_ROOT_PASSWORD: ${MARIADB_PORT}
166161

167162
### PostgreSQL Container ####################################
168163

@@ -171,11 +166,11 @@ services:
171166
volumes:
172167
- postgres:/var/lib/postgresql/data
173168
ports:
174-
- "5432:5432"
169+
- "${POSTGRES_PORT}:5432"
175170
environment:
176-
POSTGRES_DB: homestead
177-
POSTGRES_USER: homestead
178-
POSTGRES_PASSWORD: secret
171+
POSTGRES_DB: ${POSTGRES_DB}
172+
POSTGRES_USER: ${POSTGRES_USER}
173+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
179174

180175
### PostgreSQL PostGis Container ############################
181176

@@ -184,11 +179,11 @@ services:
184179
volumes:
185180
- postgres:/var/lib/postgresql/data
186181
ports:
187-
- "5432:5432"
182+
- "${POSTGRES_PORT}:5432"
188183
environment:
189-
POSTGRES_DB: homestead
190-
POSTGRES_USER: homestead
191-
POSTGRES_PASSWORD: secret
184+
POSTGRES_DB: ${POSTGRES_DB}
185+
POSTGRES_USER: ${POSTGRES_USER}
186+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
192187

193188
### Neo4j Container #########################################
194189

@@ -198,7 +193,7 @@ services:
198193
- "7474:7474"
199194
- "1337:1337"
200195
environment:
201-
- NEO4J_AUTH=homestead:secret
196+
- NEO4J_AUTH=default:secret
202197
volumes:
203198
- neo4j:/var/lib/neo4j/data
204199

@@ -251,7 +246,7 @@ services:
251246
volumes:
252247
- memcached:/var/lib/memcached
253248
ports:
254-
- "11211:11211"
249+
- "${MEMCACHED_HOST_PORT}:11211"
255250
depends_on:
256251
- php-fpm
257252

@@ -260,7 +255,7 @@ services:
260255
beanstalkd:
261256
build: ./beanstalkd
262257
ports:
263-
- "11300:11300"
258+
- "${BEANSTALKD_HOST_PORT}:11300"
264259
privileged: true
265260
depends_on:
266261
- php-fpm
@@ -270,13 +265,13 @@ services:
270265
rabbitmq:
271266
build: ./rabbitmq
272267
ports:
273-
- "5672:5672"
274-
- "15671:15671"
275-
- "8080:15672"
268+
- "${RABBITMQ_NODE_HOST_PORT}:5672"
269+
- "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672"
270+
- "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671"
276271
privileged: true
277272
environment:
278-
RABBITMQ_DEFAULT_USER: guest
279-
RABBITMQ_DEFAULT_PASS: guest
273+
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER}
274+
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS}
280275
depends_on:
281276
- php-fpm
282277

@@ -312,16 +307,13 @@ services:
312307
build: ./phpmyadmin
313308
environment:
314309
PMA_ARBITRARY: 1
315-
MYSQL_USER: homestead
316-
MYSQL_PASSWORD: secret
317-
MYSQL_ROOT_PASSWORD: root
310+
MYSQL_USER: ${PMA_USER}
311+
MYSQL_PASSWORD: ${PMA_PASSWORD}
312+
MYSQL_ROOT_PASSWORD: ${PMA_ROOT_PASSWORD}
318313
ports:
319-
- "8080:80"
314+
- "${PMA_PORT}:80"
320315
depends_on:
321-
# for mysql container
322-
- "mysql"
323-
# for mariadb container
324-
# - "mariadb"
316+
- "${PMA_DB_ENGINE}"
325317

326318
### pgAdmin Container #######################################
327319

@@ -340,8 +332,8 @@ services:
340332
- elasticsearch-data:/usr/share/elasticsearch/data
341333
- elasticsearch-plugins:/usr/share/elasticsearch/plugins
342334
ports:
343-
- "9200:9200"
344-
- "9300:9300"
335+
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
336+
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
345337
depends_on:
346338
- php-fpm
347339

@@ -370,9 +362,8 @@ services:
370362
selenium:
371363
build: ./selenium
372364
ports:
373-
- "4444:4444"
365+
- "${SELENIUM_PORT}:4444"
374366
volumes:
375-
# see https://github.com/SeleniumHQ/docker-selenium#running-the-images
376367
- /dev/shm:/dev/shm
377368

378369
### Volumes Setup ###########################################
@@ -406,5 +397,3 @@ volumes:
406397
driver: "local"
407398
elasticsearch-plugins:
408399
driver: "local"
409-
sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
410-
driver: "local"

0 commit comments

Comments
 (0)