Skip to content

Commit dd56d6e

Browse files
committed
Update README.md
1 parent 6bfcd68 commit dd56d6e

File tree

1 file changed

+78
-12
lines changed

1 file changed

+78
-12
lines changed

README.md

Lines changed: 78 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,51 @@
33
If You want to build a reverse proxy website with Joomla at short time;
44

55
#### Full stack Proxy Nginx Joomla:
6-
<p align="left"> <a href="https://www.joomla.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/69416061?s=200&v=4" alt="Joomla" 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;
7-
<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="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="#" 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;
8-
<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://github.com/mailhog" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/10258541?s=200&v=4" alt="mailhog" 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>
6+
<p align="left"> <a href="https://www.joomla.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/69416061?s=200&v=4" alt="Joomla" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
7+
<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;
8+
<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;
9+
<a href="https://dev.mysql.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/2452804?s=200&v=4" alt="mysql" height="50" width="50"/> </a>&nbsp;&nbsp;&nbsp;
10+
<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;
11+
<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;
12+
<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;
13+
<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;
14+
<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;
15+
<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;
16+
<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;
17+
<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;
18+
<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;
19+
<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;
20+
<a href="https://github.com/mailhog" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/10258541?s=200&v=4" alt="mailhog" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
21+
<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>
922

1023
Plus, manage docker containers with Portainer.
1124

25+
#### Supported CPU architectures:
26+
<p align="left"> arm64/aarch64, x86-64 </p>
27+
28+
#### Supported Linux Package Manage Systems:
29+
<p align="left"> apk, dnf, yum, apt/apt-get, zypper </p>
30+
31+
#### Supported Linux Operation Systems:
32+
<p align="left"> <a href="https://alpinelinux.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/7600810?s=200&v=4" alt="alpine linux" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
33+
<a href="https://fedoraproject.org/" target="_blank" rel="noreferrer"> <img src="https://raw.githubusercontent.com/github/explore/e6b1e7f0fb8d0bf920bd719c7289243138bdc1b4/topics/fedora/fedora.png" alt="fedora" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
34+
<a href="https://www.centos.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/79192?s=200&v=4" alt="centos" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
35+
<a href="https://www.debian.org/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1854028?s=200&v=4" alt="debian" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
36+
<a href="https://ubuntu.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/4604537?s=200&v=4" alt="ubuntu" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
37+
<a href="https://www.raspberrypi.com/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/1294177?s=200&v=4" alt="ubuntu" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
38+
<a href="https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/33972111?s=200&v=4" alt="redhat on s390x (IBM Z)" height="40" width="40"/> </a>&nbsp;&nbsp;&nbsp;
39+
<a href="https://www.suse.com/products/server/" target="_blank" rel="noreferrer"> <img src="https://avatars.githubusercontent.com/u/623819?s=200&v=4" alt="opensuse on s390x (IBM Z)" height="40" width="40"/> </a> </p>
40+
41+
##### Note: Fedora 37, 39 and alpine linux x86-64 compatible, could not try sles IBM Z s390x, rhel IBM Z s390x and raspberrypi.
42+
1243
#### With this project you can quickly run the following:
1344

1445
- [Joomla (php-fpm)](https://hub.docker.com/_/joomla)
1546
- [webserver (apache2/httpd)](https://hub.docker.com/_/httpd)
1647
- [proxy (nginx)](https://hub.docker.com/_/nginx)
1748
- [certbot (letsencrypt)](https://hub.docker.com/r/certbot/certbot)
1849
- [phpMyAdmin](https://hub.docker.com/r/phpmyadmin/phpmyadmin/)
19-
- [database](https://hub.docker.com/_/mariadb)
50+
- [databaseMariadb](https://hub.docker.com/_/mariadb) [databaseMysql](https://hub.docker.com/_/mysql)
2051
- [redis](https://hub.docker.com/_/redis)
2152
- [varnish](https://hub.docker.com/_/varnish)
2253
- [mailhog](https://github.com/mailhog)
@@ -55,9 +86,11 @@ Create rules to open ports to the internet, or to a specific IPv4 address or ran
5586
### Exec install shell script for auto installation and configuration
5687

5788
download with
89+
5890
```
5991
git clone https://github.com/damalis/full-stack-proxy-nginx-joomla-for-everyone-with-docker-compose.git
6092
```
93+
6194
Open a terminal and `cd` to the folder in which `docker-compose.yml` is saved and run:
6295

6396
```
@@ -73,7 +106,7 @@ Make sure you have the latest versions of **Docker** and **Docker Compose** inst
73106
- [How install docker](https://docs.docker.com/engine/install/)
74107
- [How install docker compose](https://docs.docker.com/compose/install/)
75108

76-
Clone this repository or copy the files from this repository into a new folder. In the **docker-compose.yml** file you may change the database from MariaDB to MySQL.
109+
Clone this repository or copy the files from this repository into a new folder.
77110

78111
Make sure to [add your user to the `docker` group](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).
79112

@@ -82,6 +115,7 @@ Make sure to [add your user to the `docker` group](https://docs.docker.com/insta
82115
### Configuration
83116

84117
download with
118+
85119
```
86120
git clone https://github.com/damalis/full-stack-proxy-nginx-joomla-for-everyone-with-docker-compose.git
87121
```
@@ -98,25 +132,36 @@ Copy the example environment into `.env`
98132
cp env.example .env
99133
```
100134

101-
Edit the `.env` file to change values of ```LOCAL_TIMEZONE```, ```DOMAIN_NAME```, ```DIRECTORY_PATH```, ```LETSENCRYPT_EMAIL```, ```JOOMLA_DB_USER```, ```JOOMLA_DB_PASSWORD```, ```JOOMLA_DB_NAME```, ```MYSQL_ROOT_PASSWORD```, ```PMA_CONTROLUSER```, ```PMA_CONTROLPASS```, ```PMA_HTPASSWD_USERNAME``` and ```PMA_HTPASSWD_PASSWORD```.
135+
Edit the `.env` file to change values of ```LOCAL_TIMEZONE```, ```DOMAIN_NAME```, ```DIRECTORY_PATH```, ```LETSENCRYPT_EMAIL```, ```JOOMLA_DB_USER```, ```JOOMLA_DB_PASSWORD```, ```JOOMLA_DB_NAME```, ```MYSQL_ROOT_PASSWORD```, ```DATABASE_IMAGE_NAME```, ```DATABASE_CONT_NAME```, ```DATABASE_PACKAGE_MANAGER```, ```DATABASE_AUTHENTICATION_PLUGIN```, ```DATABASE_ADMIN_COMMANDLINE```, ```PMA_CONTROLUSER```, ```PMA_CONTROLPASS```, ```PMA_HTPASSWD_USERNAME```, ```PMA_HTPASSWD_PASSWORD``` and ```VARNISH_VERSION```.
102136

103137
LOCAL_TIMEZONE=[to see local timezones](https://docs.diladele.com/docker/timezones.html)
104138

105-
DIRECTORY_PATH=```pwd``` at command line
139+
DIRECTORY_PATH=```pwd``` at command line\
140+
DATABASE_IMAGE_NAME=```mariadb``` or ```mysql```\
141+
DATABASE_CONT_NAME=```mariadb```, ```mysql``` or ```custom name```\
142+
DATABASE_PACKAGE_MANAGER=```apt-get update && apt-get install -y gettext-base``` for mariadb, ```microdnf install -y gettext``` for mysql\
143+
DATABASE_AUTHENTICATION_PLUGIN=```mysql_native_password``` for mariadb, ```caching_sha2_password``` for mysql\
144+
DATABASE_ADMIN_COMMANDLINE=```mariadb-admin``` for mariadb, ```mysqladmin``` for mysql\
145+
VARNISH_VERSION=```latest``` for centos version 9+ and fedora, ```stable``` for the others
106146

107147
and
108148

109149
```
110150
cp ./phpmyadmin/apache2/sites-available/default-ssl.sample.conf ./phpmyadmin/apache2/sites-available/default-ssl.conf
111151
```
112-
113152
change example.com to your domain name in ```./phpmyadmin/apache2/sites-available/default-ssl.conf``` file.
114153

154+
```
155+
cp ./database/phpmyadmin/sql/create_tables.sql.template.example ./database/phpmyadmin/sql/create_tables.sql.template
156+
```
157+
change pma_controluser, db_authentication_plugin and db_authentication_password in ```./database/phpmyadmin/sql/create_tables.sql.template``` file.
158+
115159
### Installation
116160

117161
Firstly: will create external volume
162+
118163
```
119-
docker volume create --driver local --opt type=none --opt device=${DIRECTORY_PATH}/certbot --opt o=bind certbot-etc
164+
docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc
120165
```
121166

122167
```
@@ -138,6 +183,7 @@ For convenience you may add a new entry into your hosts file.
138183
```
139184
docker compose -f portainer-docker-compose.yml -p portainer up -d
140185
```
186+
141187
manage docker with [Portainer](https://www.portainer.io/) is the definitive container management tool for Docker, Docker Swarm with it's highly intuitive GUI and API.
142188

143189
You can also visit `https://example.com:9001` to access portainer after starting the containers.
@@ -176,7 +222,8 @@ To stop and remove all the containers use the `down` command:
176222
docker compose down
177223
```
178224

179-
to remove portainer and the other containers
225+
to remove portainer and the other containers:
226+
180227
```
181228
docker rm -f $(docker ps -a -q)
182229
```
@@ -187,13 +234,26 @@ Use `-v` if you need to remove the database volume which is used to persist the
187234
docker compose down -v
188235
```
189236

190-
to remove external certbot-etc and portainer and the other volumes
237+
to remove external certbot-etc and portainer and the other volumes:
191238

192239
```
193240
docker volume rm $(docker volume ls -q)
194241
```
195242

196-
to remove portainer and the other images
243+
Delete all images, containers, volumes, and networks that are not associated with a container (dangling):
244+
245+
```
246+
docker system prune
247+
```
248+
249+
To additionally remove any stopped containers and all unused images (not just dangling ones), add the -a flag to the command:
250+
251+
```
252+
docker system prune -a
253+
```
254+
255+
to remove portainer and the other images:
256+
197257
```
198258
docker rmi $(docker image ls -q)
199259
```
@@ -220,6 +280,12 @@ You should see the "Joomla installation" page in your browser. If not, please ch
220280
https://example.com
221281
```
222282

283+
after every change in the joomla and the varnish configuration or if You get error "502 Bad Gateway":
284+
285+
```
286+
docker container restart varnish
287+
```
288+
223289
#### How to remove index.php from URLs or How to Solve Joomla Installation stuck on white blank page.
224290

225291
You must enable Use URL Rewriting at Joomla admin page then ```docker container restart varnish```.

0 commit comments

Comments
 (0)