Skip to content

Commit 331f4f2

Browse files
committed
added envsubst command
1 parent ce2d576 commit 331f4f2

File tree

8 files changed

+420
-60
lines changed

8 files changed

+420
-60
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ If You want to build a reverse proxy website with Yii "basic" at short time;
44

55
#### Full stack Proxy Nginx Yii "basic":
66
<p align="left"> <a href="https://www.yiiframework.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/993323?s=200&v=4" alt="Yii" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.docker.com/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png" alt="docker" width="40" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://mariadb.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/5877084?s=200&v=4" alt="mariadb" height="50" width="50"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.nginx.com" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1412239?s=200&v=4" alt="nginx" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.php.net" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/25158?s=200&v=4" alt="php" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://redis.io" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1529926?s=200&v=4" alt="redis" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="#" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/bash/bash.png" alt="Bash" height="50" width="50" /> </a>&nbsp;&nbsp;&nbsp;
7-
<a href="https://www.phpmyadmin.net/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1351977?s=200&v=4" alt="phpmyadmin" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.apache.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/47359?s=200&v=4" alt="apache" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://letsencrypt.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/17889013?s=200&v=4" alt="letsencrypt" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.portainer.io/?hsLang=en" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/22225832?s=200&v=4" alt="portainer" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.offen.dev/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/47735043?s=200&v=4" alt="backup" height="40" width="40"/> </a> </p>
7+
<a href="https://www.phpmyadmin.net/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1351977?s=200&v=4" alt="phpmyadmin" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.apache.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/47359?s=200&v=4" alt="apache" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://letsencrypt.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/17889013?s=200&v=4" alt="letsencrypt" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.portainer.io/?hsLang=en" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/22225832?s=200&v=4" alt="portainer" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.offen.dev/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/47735043?s=200&v=4" alt="backup" height="35" width="35"/> </a> </p>
88

99
Plus, manage docker containers with Portainer.
1010

docker-compose.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,17 @@ services:
3232
retries: 5
3333
start_period: 60s
3434
environment:
35+
DB_USER: '${DB_USER}'
36+
DB_PASSWORD: '${DB_PASSWORD}'
37+
DB_NAME: '${DB_NAME}'
3538
TZ: '${LOCAL_TIMEZONE}'
3639
labels:
3740
- 'docker-volume-backup.stop-during-backup=true'
3841
command: >
39-
bash -c "apt-get -y update && apt-get install -y zip unzip libicu-dev && docker-php-ext-install intl && if pecl install -p -- redis; then pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis; fi; curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer &&
42+
bash -c "apt-get -y update && apt-get install -y zip unzip libicu-dev gettext-base && docker-php-ext-install intl && if pecl install -p -- redis; then pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis; fi; curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer &&
4043
if [ -f \"${WEBSERVER_DOC_ROOT}/web.php\" ]; then composer update --prefer-dist yiisoft/yii2-app-basic --working-dir=/app/basic; else composer create-project --prefer-dist yiisoft/yii2-app-basic basic; fi &&
41-
composer require --prefer-dist "yiisoft/yii2-redis":~2.0.0 --working-dir=/app/basic; cp -R /app/basic/web/css ${WEBSERVER_DOC_ROOT}/; sed \"s/DB_USER/${DB_USER}/;s/DB_PASSWORD/${DB_PASSWORD}/;s/DB_NAME/${DB_NAME}/\" ${WEBSERVER_DOC_ROOT}/db.php_orj > ${WEBSERVER_DOC_ROOT}/db.php &&
42-
sed \"/^[[:space:]]\\+.cookieValidationKey/s/''/'$$(tr -dc '[:alnum:]' </dev/urandom | head -c 32)'/\" ${WEBSERVER_DOC_ROOT}/web.php_orj > ${WEBSERVER_DOC_ROOT}/web.php;
44+
composer require --prefer-dist "yiisoft/yii2-redis":~2.0.0 --working-dir=/app/basic; cp -R /app/basic/web/css ${WEBSERVER_DOC_ROOT}/; envsubst '$${DB_USER},$${DB_PASSWORD},$${DB_NAME}' < ${WEBSERVER_DOC_ROOT}/db.php.template > ${WEBSERVER_DOC_ROOT}/db.php &&
45+
export RANDOM_VALUE=$(tr -dc '[:alnum:]' </dev/urandom | head -c 32) && envsubst '$$RANDOM_VALUE' < ${WEBSERVER_DOC_ROOT}/web.php.template > ${WEBSERVER_DOC_ROOT}/web.php &&
4346
mkdir -p ${WEBSERVER_DOC_ROOT}/assets && chmod -R 777 ${WEBSERVER_DOC_ROOT}/assets; grep -qe 'date.timezone = ${LOCAL_TIMEZONE}' ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini || echo 'date.timezone = ${LOCAL_TIMEZONE}' >> ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini; php-fpm"
4447
4548
webserver:
@@ -57,11 +60,12 @@ services:
5760
hostname: webserver
5861
restart: unless-stopped
5962
ports:
60-
- '8080:8080'
63+
- '8080:80'
6164
links:
6265
- yii
6366
environment:
6467
TZ: '${LOCAL_TIMEZONE}'
68+
command: bash -c "sed -i 's/example.com/${DOMAIN_NAME}/g' ${HTTPD_PREFIX}/conf/extra/httpd-vhosts.conf && httpd -t; httpd-foreground"
6569

6670
certbot:
6771
depends_on:
@@ -123,6 +127,7 @@ services:
123127
- backend
124128
- frontend
125129
volumes:
130+
- 'phpmyadmin:${WEBSERVER_DOC_ROOT}/sql'
126131
- type: bind
127132
source: ./phpmyadmin/apache2/sites-available/default-ssl.conf
128133
target: '${APACHE_CONFDIR_PREFIX}/sites-available/default-ssl.conf'
@@ -143,10 +148,10 @@ services:
143148
restart: unless-stopped
144149
ports:
145150
- '9090:443'
146-
#links:
147-
# - database
151+
links:
152+
- database
148153
environment:
149-
#PMA_HOST: database
154+
PMA_HOST: 'database'
150155
PMA_PMADB: 'phpmyadmin'
151156
PMA_CONTROLUSER: '${PMA_CONTROLUSER}'
152157
PMA_CONTROLPASS: '${PMA_CONTROLPASS}'
@@ -155,7 +160,7 @@ services:
155160
MEMORY_LIMIT: '${PMA_MEMORY_LIMIT}'
156161
TZ: '${LOCAL_TIMEZONE}'
157162
command: >
158-
bash -c "echo ${PMA_HTPASSWD_USERNAME}:phpmyadmin:$$( printf \"%s:%s:%s\" \"${PMA_HTPASSWD_USERNAME}\" \"phpmyadmin\" \"${PMA_HTPASSWD_PASSWORD}\" | md5sum | awk '{print $$1}' ) > ${PMA_CONF_FOLDER}/.htpasswd
163+
bash -c "apt-get -y update && apt-get install -y gettext-base && envsubst < ${WEBSERVER_DOC_ROOT}/sql/create_tables.sql.template > ${WEBSERVER_DOC_ROOT}/sql/create_tables.sql && echo ${PMA_HTPASSWD_USERNAME}:phpmyadmin:$$( printf \"%s:%s:%s\" \"${PMA_HTPASSWD_USERNAME}\" \"phpmyadmin\" \"${PMA_HTPASSWD_PASSWORD}\" | md5sum | awk '{print $$1}' ) > ${PMA_CONF_FOLDER}/.htpasswd
159164
&& printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
160165
mkdir -p ${WEBSERVER_DOC_ROOT}/../upload && chown www-data:www-data ${WEBSERVER_DOC_ROOT}/../upload && chmod a+w ${WEBSERVER_DOC_ROOT}/../upload; mkdir -p ${WEBSERVER_DOC_ROOT}/../save && chown www-data:www-data ${WEBSERVER_DOC_ROOT}/../save && chmod a+w ${WEBSERVER_DOC_ROOT}/../save;
161166
grep -qxF 'ServerName 127.0.0.1' ${APACHE_CONFDIR_PREFIX}/apache2.conf || echo -e '\\nServerName 127.0.0.1' >> ${APACHE_CONFDIR_PREFIX}/apache2.conf; grep -qe 'date.timezone = ${LOCAL_TIMEZONE}' ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini || echo 'date.timezone = ${LOCAL_TIMEZONE}' >> ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini;
@@ -172,6 +177,7 @@ services:
172177
- type: bind
173178
source: ./database/conf.d/z-mysql.cnf
174179
target: '${MYSQL_CONF_PREFIX}/z-mysql.cnf'
180+
- 'phpmyadmin:/docker-entrypoint-initdb.d'
175181
hostname: database
176182
restart: unless-stopped
177183
ports:
@@ -256,6 +262,13 @@ volumes:
256262
name: ${DATABASE_CONT_NAME}-data
257263
db-backup-data:
258264
name: ${DATABASE_CONT_NAME}-backup-data
265+
phpmyadmin:
266+
name: phpmyadmin-sql
267+
driver: local
268+
driver_opts:
269+
type: none
270+
device: ${DIRECTORY_PATH}/phpmyadmin/sql
271+
o: bind
259272
dtredis:
260273
name: redis-data
261274
certbot-etc:

phpmyadmin/config.user.inc.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,3 @@
99

1010
$cfg['CheckConfigurationPermissions'] = false;
1111
$cfg['ShowPhpInfo'] = true;
12-
$cfg['Servers'][1]['host'] = 'database';

0 commit comments

Comments
 (0)