forked from ezsystems/ezplatform-ee
/
install.yml
43 lines (41 loc) · 1.78 KB
/
install.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
version: '2'
# compose file for installing composer packages, perfrom install and dump database
services:
install_db:
image: ${MYSQL_IMAGE}
volumes:
- ${COMPOSE_DIR}/entrypoint/mysql:/docker-entrypoint-initdb.d/:ro
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=1
- MYSQL_USER=$DATABASE_USER
- MYSQL_PASSWORD=$DATABASE_PASSWORD
- MYSQL_DATABASE=$DATABASE_NAME
install_app:
image: ${PHP_IMAGE_DEV}
volumes:
- ${COMPOSE_DIR}/../..:/var/www
- ${COMPOSER_HOME}:/root/.composer
depends_on:
- install_db
environment:
- SYMFONY_ENV
- SYMFONY_DEBUG
- DATABASE_USER
- DATABASE_PASSWORD
- DATABASE_NAME
- DATABASE_HOST=install_db
# Dumping autoload using --optimize-autoloader to keep performenace on a usable level, not needed on linux host.
# Second chown line: For dev and behat tests we give a bit extra rights, never do this for prod.
command: >
/bin/sh -c "
composer install --no-progress --no-interaction --prefer-dist --no-suggest --optimize-autoloader;
mkdir -p web/var;
php /scripts/wait_for_db.php;
php app/console ezplatform:install ${INSTALL_EZ_INSTALL_TYPE};
rm -Rf app/logs/* app/cache/*/*;
chown -R www-data:www-data app/cache app/logs web/var;
find app/cache app/logs web/var -type d -print0 | xargs -0 chmod -R 775;
find app/cache app/logs web/var -type f -print0 | xargs -0 chmod -R 664;
chown -R www-data:www-data app/config src;
echo 'Dumping database into doc/docker-compose/entrypoint/mysql/2_dump.sql for use by mysql on startup.';
mysqldump -u $$DATABASE_USER --password=$$DATABASE_PASSWORD -h $$DATABASE_HOST --add-drop-table --extended-insert --protocol=tcp $$DATABASE_NAME > doc/docker-compose/entrypoint/mysql/2_dump.sql"