Skip to content

Commit 7f494bb

Browse files
committed
added create_tables.sql for phpmyadmin
1 parent 482556d commit 7f494bb

File tree

5 files changed

+403
-39
lines changed

5 files changed

+403
-39
lines changed

README.md

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ If You want to build a reverse proxy website with WordPress at short time;
44

55
#### Full stack Proxy Nginx WordPress:
66
<p align="left"> <a href="https://wordpress.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/276006?s=200&v=4" alt="WordPress" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://mariadb.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/4739304?s=200&v=4" alt="mariadb" height="40" width="40"/> </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://raw.githubusercontent.com/github/explore/ccc16358ac4530c6a69b1b80c7223cd2744dea83/topics/php/php.png" 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;
7-
<a href="https://www.varnish-software.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/577014?s=200&v=4" alt="varnish" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;<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://certbot.eff.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/17889013?s=200&v=4" alt="certbot" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://letsencrypt.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/9289019?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://docs.docker.com/compose/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/docker/compose/v2/logo.png" alt="docker compose" width="40" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.gnu.org/software/bash/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/bash/bash.png" alt="Bash" height="40" width="40" /> </a> </p>
7+
<a href="https://www.varnish-software.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/577014?s=200&v=4" alt="varnish" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;<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://certbot.eff.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/17889013?s=200&v=4" alt="certbot" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://letsencrypt.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/9289019?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://docs.docker.com/compose/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/docker/compose/v2/logo.png" alt="docker compose" width="40" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp; <a href="https://www.gnu.org/software/bash/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/bash/bash.png" alt="Bash" 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

@@ -18,7 +18,7 @@ Plus, manage docker containers with Portainer.
1818
- [database](https://hub.docker.com/_/mariadb)
1919
- [redis](https://hub.docker.com/_/redis)
2020
- [varnish](https://hub.docker.com/_/varnish)
21-
- [backup](https://hub.docker.com/r/futurice/docker-volume-backup)
21+
- [backup](https://hub.docker.com/r/offen/docker-volume-backup)
2222

2323
#### For certbot (letsencrypt) certificate:
2424

@@ -308,20 +308,8 @@ The first authorize screen(htpasswd;username or password) and phpmyadmin login s
308308

309309
### backup
310310

311-
This will back up the all files and folders, once per day, and write it to ./backups with a filename like backup-2022-02-07T16-51-56.tar.gz
311+
This will back up the all files and folders in database/dump sql and html volumes, once per day, and write it to ./backups with a filename like backup-2023-01-01T10-18-00.tar.gz
312312

313-
#### example for crontab file on the host machine
313+
#### can run on a custom cron schedule
314314

315-
##### # old docker backup folder remove
316-
317-
```
318-
50 23 * * * find ${DIRECTORY_PATH}/backups/backup* -type f -mtime +1 | xargs rm
319-
```
320-
321-
##### # backup exclude wordpress, backups folders in ${DIRECTORY_PATH}
322-
323-
```
324-
00 01 * * * tar -czvf ${DIRECTORY_PATH}/backups/'backup-example.com-'$(date +"\%Y-\%m-\%dT\%H-\%M-\%S")'.tar.gz' --exclude='wordpress/wp-admin' --exclude='wordpress/wp-includes' --exclude='backups' ${DIRECTORY_PATH}
325-
```
326-
327-
[CronHowto](https://help.ubuntu.com/community/CronHowto)
315+
```BACKUP_CRON_EXPRESSION: '20 01 * * *'``` the UTC timezone.

docker-compose.yml

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ services:
121121
- backend
122122
- frontend
123123
volumes:
124+
- 'phpmyadmin:${WEBSERVER_DOC_ROOT}/sql'
124125
- type: bind
125126
source: ./phpmyadmin/apache2/sites-available/default-ssl.conf
126127
target: '${APACHE_CONFDIR_PREFIX}/sites-available/default-ssl.conf'
@@ -141,10 +142,10 @@ services:
141142
restart: unless-stopped
142143
ports:
143144
- '9090:443'
144-
#links:
145-
# - database
145+
links:
146+
- database
146147
environment:
147-
#PMA_HOST: database
148+
PMA_HOST: 'database'
148149
PMA_PMADB: 'phpmyadmin'
149150
PMA_CONTROLUSER: '${PMA_CONTROLUSER}'
150151
PMA_CONTROLPASS: '${PMA_CONTROLPASS}'
@@ -153,7 +154,7 @@ services:
153154
MEMORY_LIMIT: '${PMA_MEMORY_LIMIT}'
154155
TZ: '${LOCAL_TIMEZONE}'
155156
command: >
156-
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
157+
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
157158
&& printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
158159
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;
159160
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;
@@ -166,9 +167,11 @@ services:
166167
- backend
167168
volumes:
168169
- 'db:/var/lib/mysql'
170+
- 'db-backup-data:/tmp/backup'
169171
- type: bind
170172
source: ./database/conf.d/z-mysql.cnf
171173
target: '${MYSQL_CONF_PREFIX}/z-mysql.cnf'
174+
- 'phpmyadmin:/docker-entrypoint-initdb.d'
172175
hostname: database
173176
restart: unless-stopped
174177
ports:
@@ -183,6 +186,8 @@ services:
183186
TZ: '${LOCAL_TIMEZONE}'
184187
labels:
185188
- "docker-volume-backup.stop-during-backup=true"
189+
- "docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -uroot -p${MYSQL_ROOT_PASSWORD} --all-databases > /tmp/backup/db_backup_data.sql'"
190+
- "docker-volume-backup.exec-label=database"
186191
command: "--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password"
187192

188193
redis:
@@ -227,24 +232,26 @@ services:
227232
command: "-a http=:8080,HTTP -p default_ttl=3600"
228233

229234
backup:
230-
image: 'futurice/docker-volume-backup'
235+
image: offen/docker-volume-backup:latest
231236
container_name: backup
232237
networks:
233238
- backend
234239
volumes:
235-
- '/var/run/docker.sock:/var/run/docker.sock:ro'
236240
- 'html:/backup/html:ro'
237241
- 'db:/backup/db:ro'
242+
- 'db-backup-data:/backup/db-backup-data:ro'
243+
- '/var/run/docker.sock:/var/run/docker.sock:ro'
238244
- type: bind
239245
source: ./backups
240246
target: /archive
241247
hostname: backup
242248
restart: unless-stopped
243249
environment:
244-
BACKUP_WAIT_SECONDS: 120
245250
BACKUP_CRON_EXPRESSION: '20 01 * * *'
246251
BACKUP_FILENAME: 'backup-%Y-%m-%dT%H-%M-%S.tar.gz'
247-
TZ: '${LOCAL_TIMEZONE}'
252+
BACKUP_RETENTION_DAYS: '7'
253+
EXEC_LABEL: 'database'
254+
#BACKUP_EXCLUDE_REGEXP: 'folder|folder|file|\\.log$$'
248255

249256
networks:
250257
backend: null
@@ -260,6 +267,15 @@ volumes:
260267
o: bind
261268
db:
262269
name: ${DATABASE_CONT_NAME}-data
270+
db-backup-data:
271+
name: ${DATABASE_CONT_NAME}-backup-data
272+
phpmyadmin:
273+
name: phpmyadmin-sql
274+
driver: local
275+
driver_opts:
276+
type: none
277+
device: ${DIRECTORY_PATH}/phpmyadmin/sql
278+
o: bind
263279
dtredis:
264280
name: redis-data
265281
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)