Skip to content

Commit e61df92

Browse files
committed
Added .env as environment file
1 parent 2834238 commit e61df92

File tree

7 files changed

+66
-18
lines changed

7 files changed

+66
-18
lines changed

bin/dev

+17
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ init() {
2121
DEV_SUDO='sudo';
2222
fi
2323

24+
dc env conf/mysql; # fallback
25+
dc env .env;
26+
2427
dc yml 'docker-compose.yml';
2528
dc yml_if 'build/dist/docker-compose-blackfire.yml' 'conf/blackfire';
2629
dc yml_if 'docker-custom.yml' 'docker-custom.yml';
@@ -169,6 +172,20 @@ dc() {
169172
return 1;
170173
}
171174

175+
env() {
176+
local envfile=${DEV_WORKDIR}/$1 a='' c='';
177+
if [ ! -e ${envfile} ]; then
178+
return 1;
179+
fi
180+
for a in `cat ${envfile}`; do
181+
if [ "${a:0:1}" == "#" ]; then
182+
continue;
183+
fi
184+
c='export '${a};
185+
${c};
186+
done
187+
}
188+
172189
$*;
173190
return $?
174191
}

bin/dev_command/myroot

-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22
dc yml build/dist/docker-compose-dbclient.yml;
33
dc service dbclient;
44

5-
. ${DEV_WORKDIR}/conf/mysql;
6-
75
dc cmd mysql "-h db -uroot -p${MYSQL_ROOT_PASSWORD} $*";
86

bin/dev_command/setup

+34-12
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@ setup() {
77
cd ${DEV_DIR};
88

99
mysql() {
10-
if [ -e ${DEV_WORKDIR}/conf/mysql ]; then
11-
echo 'Looks to me that this machine already has MySQL configuration';
12-
return 1;
13-
fi
10+
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
11+
export MYSQL_ROOT_PASSWORD="`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`";
12+
echo 'MYSQL_ROOT_PASSWORD='${MYSQL_ROOT_PASSWORD} >> ${DEV_WORKDIR}/.env;
13+
echo 'Created a random root password for MySQL stored in '${DEV_WORKDIR}'/.env, to login as root use `dev myroot`';
14+
fi;
1415

15-
local randompass="`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`";
16-
sed 's/\[YOURPASSWORDGOESHERE\]/'${randompass}'/' ${DEV_WORKDIR}/conf/mysql.dist > ${DEV_WORKDIR}/conf/mysql;
17-
echo 'Created a random root password for MySQL "'${randompass}'", to login as root use `dev myroot`';
1816

1917
if [ -z "`docker volume ls -q -f 'name=dockerdev-mysql-volume'`" ]; then
2018
echo 'Create a persistant database volume';
@@ -23,13 +21,17 @@ setup() {
2321

2422
echo 'Starting regular database user, waiting for db to become ready';
2523
./${DEV_SELF} up db;
26-
./${DEV_SELF} logs -f db 2>&1 | grep -m1 'mysqld: ready for connections.' >/dev/null;
24+
./${DEV_SELF} logs -f db 2>&1 | grep -m1 'ready for connections';
2725

2826
local user=${USER};
27+
28+
# Check if already exists
29+
echo "select * from mysql.user where user='${user}';" | dev myroot | grep "${user}" >/dev/null && return 1;
30+
2931
echo 'Database user has access to databases "'${user}'_*"';
3032
echo '';
31-
echo "create user '${user}' | ./${DEV_SELF} myroot;
32-
echo "grant all on ${user}.* to '${user}' | ./${DEV_SELF} myroot;
33+
echo "create user '${user}'" | ./${DEV_SELF} myroot;
34+
echo "grant all on ${user}.* to '${user}'" | ./${DEV_SELF} myroot;
3335
echo "update mysql.db set db = '${user}\_%' where user = '${user}';" | ./${DEV_SELF} myroot;
3436
echo 'flush privileges;' | ./${DEV_SELF} myroot;
3537

@@ -45,14 +47,33 @@ setup() {
4547
echo "- ${v}";
4648
done
4749

48-
read -p'?' version;
50+
read -p'? ' version;
4951
[ -z "${version}" ] && return 1;
5052

5153
touch ${DEV_WORKDIR}/workspace/.${version};
5254

5355
return 0;
5456
}
5557

58+
suffix() {
59+
if [ -n "${DOMAINSUFFIX}" ]; then
60+
echo 'Listening on "*'${DOMAINSUFFIX}'"';
61+
return 1;
62+
fi
63+
64+
local suffix='' default='.localhost';
65+
echo 'Which domain suffix do you want to listen to - default: '${default}'';
66+
read -p' ' suffix;
67+
if [ -z "${suffix}" ]; then
68+
suffix=${default};
69+
fi
70+
71+
echo 'DOMAINSUFFIX='${suffix} >> ${DEV_WORKDIR}/.env;
72+
export DOMAINSUFFIX=${suffix};
73+
74+
return 0;
75+
}
76+
5677

5778
start() {
5879
./${DEV_SELF} up;
@@ -64,8 +85,9 @@ setup() {
6485
./${DEV_SELF} profile;
6586
}
6687

67-
mysql;
88+
suffix;
6889
php;
90+
mysql;
6991
start;
7092
shell;
7193
}

bin/dev_command/up

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11

2+
3+
if [ -z "${DOMAINSUFFIX}" ]; then
4+
dc yml build/dist/docker-compose-suffix.yml;
5+
fi
6+
27
dc mode 'up -d --no-recreate';
38
dc cmd "$*";
49

build/dist/docker-compose-suffix.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: '2'
2+
3+
services:
4+
web:
5+
environment:
6+
- DOMAINSUFFIX=.localhost
7+

conf/mysql.dist

-1
This file was deleted.

docker-compose.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ services:
1010
volumes:
1111
- ./conf.d/mysql:/etc/mysql/conf.d:ro
1212
- dockerdev-mysql-volume:/var/lib/mysql:rw
13-
env_file:
14-
- ./conf/mysql
13+
environment:
14+
- MYSQL_ROOT_PASSWORD
1515
network_mode: bridge
1616
ports:
1717
- 127.0.0.1:3306:3306
@@ -61,7 +61,7 @@ services:
6161
build:
6262
context: build/dist/web
6363
environment:
64-
DOMAINSUFFIX: '.localhost'
64+
- DOMAINSUFFIX
6565
links:
6666
- mailcatch
6767
- php70:fpm

0 commit comments

Comments
 (0)