-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.yml
167 lines (154 loc) · 4.82 KB
/
docker-compose.yml
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
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
volumes:
- ./www:/var/www/html
- ../..:/usr/src/Projects
- test:/tmp/tests
joomla-system-tests:
image: cypress/included:13.17.0
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
- ~/.Xauthority:/root/.Xauthority:rw
- /tmp/.X11-unix:/tmp/.X11-unix
selenium-test:
image: selenium/standalone-${BROWSER}:4.26.0-20241101
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
- ../..:/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
- ../..:/usr/src/Projects
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
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: apachewebdav/apachewebdav
environment:
PUID: ${USER_ID}
PGID: ${GROUP_ID}
AUTH_TYPE: Digest
USERNAME: webdav
PASSWORD: webdav
volumes:
- test:/var/lib/dav/data
volumes:
test: