-
Notifications
You must be signed in to change notification settings - Fork 70
/
Copy pathstart.sh
64 lines (52 loc) · 2.25 KB
/
start.sh
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
# UPDATE THE WEBROOT IF REQUIRED.
if [[ ! -z "${WEBROOT}" ]] && [[ ! -z "${WEBROOT_PUBLIC}" ]]; then
sed -i "s#root /var/www/public;#root ${WEBROOT_PUBLIC};#g" /etc/nginx/sites-available/default.conf
else
export WEBROOT=/var/www
export WEBROOT_PUBLIC=/var/www/public
fi
# UPDATE COMPOSER PACKAGES ON BUILD.
## 💡 THIS MAY MAKE THE BUILD SLOWER BECAUSE IT HAS TO FETCH PACKAGES.
if [[ ! -z "${COMPOSER_DIRECTORY}" ]] && [[ "${COMPOSER_INSTALL_ON_BUILD}" == "1" ]]; then
cd ${COMPOSER_DIRECTORY}
composer install && composer dump-autoload -o
fi
# LARAVEL APPLICATION
if [[ "${LARAVEL_APP}" == "1" ]]; then
# RUN LARAVEL MIGRATIONS ON BUILD.
if [[ "${RUN_LARAVEL_MIGRATIONS_ON_BUILD}" == "1" ]]; then
cd ${WEBROOT}
php artisan migrate
fi
# LARAVEL SCHEDULER
if [[ "${RUN_LARAVEL_SCHEDULER}" == "1" ]]; then
echo '* * * * * cd /var/www && php artisan schedule:run >> /dev/null 2>&1' > /etc/crontabs/root
crond
fi
fi
# SYMLINK CONFIGURATION FILES.
ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini
ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf
# PRODUCTION LEVEL CONFIGURATION.
if [[ "${PRODUCTION}" == "1" ]]; then
sed -i -e "s/;log_level = notice/log_level = warning/g" /etc/php7/php-fpm.conf
sed -i -e "s/clear_env = no/clear_env = yes/g" /etc/php7/php-fpm.d/www.conf
sed -i -e "s/display_errors = On/display_errors = Off/g" /etc/php7/php.ini
else
sed -i -e "s/;log_level = notice/log_level = notice/g" /etc/php7/php-fpm.conf
sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php7/php-fpm.conf
fi
# PHP & SERVER CONFIGURATIONS.
if [[ ! -z "${PHP_MEMORY_LIMIT}" ]]; then
sed -i "s/memory_limit = 128M/memory_limit = ${PHP_MEMORY_LIMIT}M/g" /etc/php7/conf.d/php.ini
fi
if [ ! -z "${PHP_POST_MAX_SIZE}" ]; then
sed -i "s/post_max_size = 50M/post_max_size = ${PHP_POST_MAX_SIZE}M/g" /etc/php7/conf.d/php.ini
fi
if [ ! -z "${PHP_UPLOAD_MAX_FILESIZE}" ]; then
sed -i "s/upload_max_filesize = 10M/upload_max_filesize = ${PHP_UPLOAD_MAX_FILESIZE}M/g" /etc/php7/conf.d/php.ini
fi
find /etc/php7/conf.d/ -name "*.ini" -exec sed -i -re 's/^(\s*)#(.*)/\1;\2/g' {} \;
# START SUPERVISOR.
exec /usr/bin/supervisord -n -c /etc/supervisord.conf