-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
168 lines (155 loc) · 4.95 KB
/
docker-compose.yml
File metadata and controls
168 lines (155 loc) · 4.95 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
services:
system-tests:
image: digitpeak/dpdocker-cli
command: /usr/src/Projects/DPDocker/tests/scripts/exec-system-tests.sh ${EXTENSION} ${JOOMLA} ${BROWSER} ${PHP_VERSION} ${TEST}
depends_on:
- web-test
- selenium-test
environment:
PHP_INI_REGISTER_ARGC_ARGV: 1
volumes:
- ./www:/var/www/html
- ../..:/usr/src/Projects
- ./logs:/tmp/web_logs
- test:/tmp/tests
joomla-system-tests:
image: joomlaprojects/docker-images:cypress8.4
entrypoint: /usr/src/Projects/DPDocker/tests/scripts/exec-joomla-system-tests.sh ${JOOMLA} ${DB} ${TEST}
ports:
- 8084:8084
depends_on:
- joomla-web-test
- phpmyadmin-test
environment:
CYPRESS_BASE_URL: 'http://joomla-web-test'
DISPLAY:
working_dir: /e2e
volumes:
- ../../${JOOMLA}:/e2e
- ../..:/usr/src/Projects
- ./logs:/tmp/web_logs
- ~/.Xauthority:/root/.Xauthority:rw
- /tmp/.X11-unix:/tmp/.X11-unix
selenium-test:
image: selenium/standalone-${BROWSER}:4.38.0-20251101
ports:
- 4444:4444
- 5900:5900
volumes:
- /dev/shm:/dev/shm
- test:/tmp/tests
- ../..:/usr/src/Projects
web-test:
image: digitpeak/dpdocker-web:${PHP_VERSION}
environment:
STARTUP_COMMAND_1: sudo chown docker:docker /home/docker
STARTUP_COMMAND_2: if [ -z ${TEST} ]; then /usr/src/Projects/DPDocker/composer/scripts/exec-install.sh ${EXTENSION}; fi
STARTUP_COMMAND_3: if [ -z ${TEST} ]; then /usr/src/Projects/DPDocker/npm/scripts/exec-npm-install.sh ${EXTENSION}; fi
STARTUP_COMMAND_4: php /var/www/html/Projects/DPDocker/webserver/scripts/setup-joomla-site.php joomla ${EXTENSION} ${DB}-test ${JOOMLA} ${TEST:-yes}
STARTUP_COMMAND_5: php /var/www/html/joomla/cli/joomla.php config:set debug=false sef=0 smtphost="mailcatcher-test"
PHP_INI_XDEBUG__DISCOVER_CLIENT_HOST: 1
PHP_INI_SESSION__COOKIE_LIFETIME: 86400
PHP_INI_SESSION__GC_MAXLIFETIME: 86400
depends_on:
- mysql-test
- postgres-test
- mailcatcher-test
- ftpserver-test
- sshserver-test
- webdavserver-test
- phpmyadmin-test
- selenium-test
ports:
- 8080:80
volumes:
- ./www:/var/www/html
- ./logs:/var/log/apache2
- ../..:/var/www/html/Projects
- ../..:/usr/src/Projects
extra_hosts:
- host.docker.internal:host-gateway
joomla-web-test:
image: digitpeak/dpdocker-web:${PHP_VERSION}
environment:
STARTUP_COMMAND_1: if [[ -f /var/www/html/configuration.php ]]; then mv /var/www/html/configuration.php /var/www/html/configuration.php.bak; fi
STARTUP_COMMAND_2: sudo chown docker:docker /home/docker && /usr/src/Projects/DPDocker/webserver/scripts/install-joomla.sh /var/www/html ${DB}-test joomla_${JOOMLA} Cypress mailcatcher-test
STARTUP_COMMAND_3: php /var/www/html/cli/joomla.php config:set debug=false secret=tEstValue smtphost="host.docker.internal" smtpport=8084
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
PHP_INI_XDEBUG__DISCOVER_CLIENT_HOST: 1
depends_on:
- mysql-test
- postgres-test
ports:
- 8080:80
volumes:
- ../../${JOOMLA}:/var/www/html
- ./logs:/var/log/apache2
- ../..:/usr/src/Projects
- /tmp/cypress-cache:/root/.cache/Cypress
extra_hosts:
- host.docker.internal:host-gateway
mysql-test:
image: mysql:${MYSQL_DBVERSION}
environment:
MYSQL_ROOT_PASSWORD: root
command: --default-authentication-plugin=mysql_native_password --log_error_suppression_list=MY-013360 --skip-log-bin
volumes:
- ./mysql_data:/var/lib/mysql
postgres-test:
image: postgres:${POSTGRES_DBVERSION}
environment:
POSTGRES_PASSWORD: root
POSTGRES_USER: root
volumes:
- ./postgres_data:/var/lib/postgresql/data
phpmyadmin-test:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mysql-test
PMA_USER: root
PMA_PASSWORD: root
depends_on:
- mysql-test
ports:
- 8081:80
pgadmin-test:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: root
depends_on:
- postgres-test
ports:
- 8082:80
mailcatcher-test:
image: schickling/mailcatcher
ports:
- 8083:1080
ftpserver-test:
image: stilliard/pure-ftpd
environment:
PUBLICHOST: localhost
FTP_USER_NAME: ftp
FTP_USER_PASS: ftp
FTP_USER_HOME: /home/ftp
volumes:
- test:/home/ftp
sshserver-test:
image: lscr.io/linuxserver/openssh-server:latest
environment:
- PUID=${USER_ID}
- PGID=${GROUP_ID}
- USER_PASSWORD=sftp
- USER_NAME=sftp
- PASSWORD_ACCESS=true
- LOG_STDOUT=true
- PUBLIC_KEY_FILE=/data/key.pub
volumes:
- test:/test
- ./www:/data
webdavserver-test:
image: digitpeak/dpdocker-web:${PHP_VERSION}
volumes:
- test:/var/www/html/webdav
volumes:
test: