Skip to content

Commit f38b799

Browse files
authored
✨ Improve docker, compose and VSCode debug (#56)
Signed-off-by: mathieu.brunot <[email protected]>
1 parent b1755d6 commit f38b799

9 files changed

+221
-188
lines changed

.env_template

+9-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ APP_SMTP_PASSWD=
2525
2626

2727
# Rabbit configuration
28-
APP_RABBIT_USER=app
29-
APP_RABBIT_PASSWD=Somethingv3rysecure
28+
APP_RABBITMQ_USERNAME=app
29+
APP_RABBITMQ_PASSWORD=Somethingv3rysecure
3030

3131
# Authentication configuration
3232
# Generate one with `openssl rand -hex 32`
@@ -67,3 +67,10 @@ APP_GRAFANA_ADMIN_PASSWD=admin
6767

6868
# Debug settings
6969
APP_XDEBUG_IDE_KEY=
70+
71+
# Blackfire settings
72+
# https://blackfire.io/docs/up-and-running/docker
73+
APP_BLACKFIRE_CLIENT_ID=
74+
APP_BLACKFIRE_CLIENT_TOKEN=
75+
APP_BLACKFIRE_SERVER_ID=
76+
APP_BLACKFIRE_SERVER_TOKEN=

.vscode/launch.json

+14
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@
44
// For more information visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
66
"configurations": [
7+
{
8+
"name": "Listen for XDebug",
9+
"type": "php",
10+
"request": "launch",
11+
"port": 9003
12+
},
13+
{
14+
"name": "Launch currently open script",
15+
"type": "php",
16+
"request": "launch",
17+
"program": "${file}",
18+
"cwd": "${fileDirname}",
19+
"port": 9003
20+
},
721
{
822
"name": "Listen for Xdebug on Docker App",
923
"type": "php",

Dockerfile.alpine

+13-13
Original file line numberDiff line numberDiff line change
@@ -244,18 +244,19 @@ RUN set -ex; \
244244
chmod -R g=u /var/www/html; \
245245
mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
246246

247-
ENV SF_DB_TYPE=postgresql \
248-
SF_DB_VERSION=10 \
249-
SF_DB_OPTIONS= \
250-
SF_DB_HOST= \
251-
SF_DB_PORT= \
252-
SF_DB_NAME=app_db \
253-
SF_DB_USER=root \
254-
SF_DB_PASSWORD= \
255-
SF_MAIL_TRANSPORT=smtp \
256-
SF_MAIL_HOST= \
257-
SF_MAIL_USER= \
258-
SF_MAIL_PASSWORD= \
247+
ENV DATABASE_DRIVER=postgresql \
248+
DATABASE_VERSION=10 \
249+
DATABASE_OPTIONS= \
250+
DATABASE_HOST= \
251+
DATABASE_PORT= \
252+
DATABASE_NAME=app_db \
253+
DATABASE_USERNAME=root \
254+
DATABASE_PASSWORD= \
255+
MAILER_TRANSPORT=smtp \
256+
MAILER_HOST= \
257+
MAILER_USER= \
258+
MAILER_PASSWORD= \
259+
SF_PROD=true \
259260
SF_ADMIN_LOGIN= \
260261
SF_ADMIN_EMAIL= \
261262
SF_ADMIN_PASSWD= \
@@ -265,7 +266,6 @@ ENV SF_DB_TYPE=postgresql \
265266
SF_TWITTER_URL=# \
266267
SF_LINKEDIN_URL=# \
267268
SF_YOUTUBE_URL=# \
268-
SF_PROD=true \
269269
SF_CLEAR_CACHE= \
270270
APP_ENV=prod \
271271
WWW_USER_ID=82 \

Dockerfile.debian

+13-13
Original file line numberDiff line numberDiff line change
@@ -251,18 +251,19 @@ RUN set -ex; \
251251
chmod -R g=u /var/www/html; \
252252
mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
253253

254-
ENV SF_DB_TYPE=postgresql \
255-
SF_DB_VERSION=10 \
256-
SF_DB_OPTIONS= \
257-
SF_DB_HOST= \
258-
SF_DB_PORT= \
259-
SF_DB_NAME=app_db \
260-
SF_DB_USER=root \
261-
SF_DB_PASSWORD= \
262-
SF_MAIL_TRANSPORT=smtp \
263-
SF_MAIL_HOST= \
264-
SF_MAIL_USER= \
265-
SF_MAIL_PASSWORD= \
254+
ENV DATABASE_DRIVER=postgresql \
255+
DATABASE_VERSION=10 \
256+
DATABASE_OPTIONS= \
257+
DATABASE_HOST= \
258+
DATABASE_PORT= \
259+
DATABASE_NAME=app_db \
260+
DATABASE_USERNAME=root \
261+
DATABASE_PASSWORD= \
262+
MAILER_TRANSPORT=smtp \
263+
MAILER_HOST= \
264+
MAILER_USER= \
265+
MAILER_PASSWORD= \
266+
SF_PROD=true \
266267
SF_ADMIN_LOGIN= \
267268
SF_ADMIN_EMAIL= \
268269
SF_ADMIN_PASSWD= \
@@ -272,7 +273,6 @@ ENV SF_DB_TYPE=postgresql \
272273
SF_TWITTER_URL=# \
273274
SF_LINKEDIN_URL=# \
274275
SF_YOUTUBE_URL=# \
275-
SF_PROD=true \
276276
SF_CLEAR_CACHE= \
277277
APP_ENV=prod \
278278
WWW_USER_ID=33 \

Dockerfile.develop

+14-14
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,19 @@ RUN set -ex; \
8989
mv /root/.symfony/bin/symfony /usr/local/bin/symfony; \
9090
symfony -V
9191

92-
ENV SF_DB_TYPE=sqlite \
93-
SF_DB_VERSION= \
94-
SF_DB_OPTIONS= \
95-
SF_DB_HOST= \
96-
SF_DB_PORT= \
97-
SF_DB_NAME=app_db_dev \
98-
SF_DB_USER= \
99-
SF_DB_PASSWORD= \
100-
SF_MAIL_TRANSPORT=smtp \
101-
SF_MAIL_HOST=127.0.0.1 \
102-
SF_MAIL_USER= \
103-
SF_MAIL_PASSWORD= \
92+
ENV DATABASE_DRIVER=sqlite \
93+
DATABASE_VERSION= \
94+
DATABASE_OPTIONS= \
95+
DATABASE_HOST= \
96+
DATABASE_PORT= \
97+
DATABASE_NAME=app_db_dev \
98+
DATABASE_USERNAME= \
99+
DATABASE_PASSWORD= \
100+
MAILER_TRANSPORT=smtp \
101+
MAILER_HOST=127.0.0.1 \
102+
MAILER_USER= \
103+
MAILER_PASSWORD= \
104+
SF_PROD='false' \
104105
SF_ADMIN_LOGIN= \
105106
SF_ADMIN_EMAIL= \
106107
SF_ADMIN_PASSWD= \
@@ -109,8 +110,7 @@ ENV SF_DB_TYPE=sqlite \
109110
SF_FACEBOOK_URL=# \
110111
SF_TWITTER_URL=# \
111112
SF_LINKEDIN_URL=# \
112-
SF_YOUTUBE_URL=# \
113-
SF_PROD='false'
113+
SF_YOUTUBE_URL=#
114114

115115
COPY ./cron/15min /etc/periodic/15min
116116
COPY ./cron/hourly /etc/periodic/hourly

docker-compose.apache.test.yml

+48-43
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ services:
6868
- SF_ADMIN_EMAIL=${APP_ADMIN_EMAIL}
6969
- SF_ADMIN_PASSWD=${APP_ADMIN_PASSWD}
7070
# Database configuration
71-
- SF_DB_TYPE=postgresql
72-
- SF_DB_VERSION=${APP_DB_VERSION}
73-
- SF_DB_OPTIONS=&charset=utf8
74-
- SF_DB_HOST=database
75-
- SF_DB_PORT=5432
76-
- SF_DB_NAME=${APP_DB_NAME}
77-
- SF_DB_USER=${APP_DB_USER}
78-
- SF_DB_PASSWORD=${APP_DB_PASSWD}
71+
- DATABASE_DRIVER=postgresql
72+
- DATABASE_VERSION=${APP_DB_VERSION}
73+
- DATABASE_OPTIONS=&charset=utf8
74+
- DATABASE_HOST=database
75+
- DATABASE_PORT=5432
76+
- DATABASE_NAME=${APP_DB_NAME}
77+
- DATABASE_USERNAME=${APP_DB_USER}
78+
- DATABASE_PASSWORD=${APP_DB_PASSWD}
7979
# Normally generated by entrypoint at runtime
8080
- DATABASE_URL=postgresql://${APP_DB_USER}:${APP_DB_PASSWD}@database:5432/${APP_DB_NAME}?serverVersion=${APP_DB_VERSION}
8181
# Mailer configuration
@@ -89,12 +89,12 @@ services:
8989
- MAILER_DSN=smtp://mailer:1025
9090
# RabbitMQ configuration
9191
- MESSENGER_TRANSPORT=amqp
92-
- SF_RABBITMQ_HOST=rabbitmq
93-
- SF_RABBITMQ_PORT=5672
94-
- SF_RABBITMQ_USER=${APP_RABBIT_USER}
95-
- SF_RABBITMQ_PASSWORD=${APP_RABBIT_PASSWD}
92+
- MESSENGER_HOST=rabbitmq
93+
- MESSENGER_PORT=5672
94+
- MESSENGER_USERNAME=${APP_RABBITMQ_USERNAME}
95+
- MESSENGER_PASSWORD=${APP_RABBITMQ_PASSWORD}
9696
# Normally generated by entrypoint at runtime
97-
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBIT_USER}:${APP_RABBIT_PASSWD}@rabbitmq:5672/%2f/messages
97+
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBITMQ_USERNAME}:${APP_RABBITMQ_PASSWORD}@rabbitmq:5672/%2f/messages
9898
# JWT passphrase. If not defined, container will generate passphrase and keys on startup
9999
- JWT_PASSPHRASE=${APP_JWT_PASSPHRASE}
100100
# Custom encryptor configuration
@@ -109,7 +109,7 @@ services:
109109
- LDAP_AUTH_BASE_DN=${APP_LDAP_AUTH_BASE_DN}
110110
- LDAP_AUTH_USER_QUERY=(objectClass=inetOrgPerson)
111111
- LDAP_AUTH_USERNAME_ATTRIBUTE=uid
112-
- LDAP_AUTH_EMAIL_ATTRIBUTE=mailer
112+
- LDAP_AUTH_EMAIL_ATTRIBUTE=mail
113113
- LDAP_BIND_DN=${APP_LDAP_BIND_DN}
114114
- LDAP_BIND_SECRET=${APP_LDAP_BIND_SECRET}
115115
# LDAP Group configuration
@@ -155,6 +155,12 @@ services:
155155
condition: service_healthy
156156
app_rabbitmq:
157157
condition: service_started
158+
links:
159+
- app_backend:backend
160+
- app_db:database
161+
- app_rabbitmq:rabbitmq
162+
- app_mailer:mail
163+
- app_ldap:ldap
158164
networks:
159165
- app_external_network
160166
- app_internal_network
@@ -177,14 +183,14 @@ services:
177183
- SF_ADMIN_EMAIL=${APP_ADMIN_EMAIL}
178184
- SF_ADMIN_PASSWD=${APP_ADMIN_PASSWD}
179185
# Database configuration
180-
- SF_DB_TYPE=postgresql
181-
- SF_DB_VERSION=${APP_DB_VERSION}
182-
- SF_DB_OPTIONS=&charset=utf8
183-
- SF_DB_HOST=database
184-
- SF_DB_PORT=5432
185-
- SF_DB_NAME=${APP_DB_NAME}
186-
- SF_DB_USER=${APP_DB_USER}
187-
- SF_DB_PASSWORD=${APP_DB_PASSWD}
186+
- DATABASE_DRIVER=postgresql
187+
- DATABASE_VERSION=${APP_DB_VERSION}
188+
- DATABASE_OPTIONS=&charset=utf8
189+
- DATABASE_HOST=database
190+
- DATABASE_PORT=5432
191+
- DATABASE_NAME=${APP_DB_NAME}
192+
- DATABASE_USERNAME=${APP_DB_USER}
193+
- DATABASE_PASSWORD=${APP_DB_PASSWD}
188194
# Normally generated by entrypoint at runtime
189195
- DATABASE_URL=postgresql://${APP_DB_USER}:${APP_DB_PASSWD}@database:5432/${APP_DB_NAME}?serverVersion=${APP_DB_VERSION}
190196
# Mailer configuration
@@ -198,12 +204,12 @@ services:
198204
- MAILER_DSN=smtp://mailer:1025
199205
# RabbitMQ configuration
200206
- MESSENGER_TRANSPORT=amqp
201-
- SF_RABBITMQ_HOST=rabbitmq
202-
- SF_RABBITMQ_PORT=5672
203-
- SF_RABBITMQ_USER=${APP_RABBIT_USER}
204-
- SF_RABBITMQ_PASSWORD=${APP_RABBIT_PASSWD}
207+
- MESSENGER_HOST=rabbitmq
208+
- MESSENGER_PORT=5672
209+
- MESSENGER_USERNAME=${APP_RABBITMQ_USERNAME}
210+
- MESSENGER_PASSWORD=${APP_RABBITMQ_PASSWORD}
205211
# Normally generated by entrypoint at runtime
206-
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBIT_USER}:${APP_RABBIT_PASSWD}@rabbitmq:5672/%2f/messages
212+
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBITMQ_USERNAME}:${APP_RABBITMQ_PASSWORD}@rabbitmq:5672/%2f/messages
207213
# JWT passphrase. If not defined, container will generate passphrase and keys on startup
208214
- JWT_PASSPHRASE=${APP_JWT_PASSPHRASE}
209215
# Custom encryptor configuration
@@ -218,7 +224,7 @@ services:
218224
- LDAP_AUTH_BASE_DN=${APP_LDAP_AUTH_BASE_DN}
219225
- LDAP_AUTH_USER_QUERY=(objectClass=inetOrgPerson)
220226
- LDAP_AUTH_USERNAME_ATTRIBUTE=uid
221-
- LDAP_AUTH_EMAIL_ATTRIBUTE=mailer
227+
- LDAP_AUTH_EMAIL_ATTRIBUTE=mail
222228
- LDAP_BIND_DN=${APP_LDAP_BIND_DN}
223229
- LDAP_BIND_SECRET=${APP_LDAP_BIND_SECRET}
224230
# LDAP Group configuration
@@ -277,14 +283,14 @@ services:
277283
- SF_ADMIN_EMAIL=${APP_ADMIN_EMAIL}
278284
- SF_ADMIN_PASSWD=${APP_ADMIN_PASSWD}
279285
# Database configuration
280-
- SF_DB_TYPE=postgresql
281-
- SF_DB_VERSION=${APP_DB_VERSION}
282-
- SF_DB_OPTIONS=&charset=utf8
283-
- SF_DB_HOST=database
284-
- SF_DB_PORT=5432
285-
- SF_DB_NAME=${APP_DB_NAME}
286-
- SF_DB_USER=${APP_DB_USER}
287-
- SF_DB_PASSWORD=${APP_DB_PASSWD}
286+
- DATABASE_DRIVER=postgresql
287+
- DATABASE_VERSION=${APP_DB_VERSION}
288+
- DATABASE_OPTIONS=&charset=utf8
289+
- DATABASE_HOST=database
290+
- DATABASE_PORT=5432
291+
- DATABASE_NAME=${APP_DB_NAME}
292+
- DATABASE_USERNAME=${APP_DB_USER}
293+
- DATABASE_PASSWORD=${APP_DB_PASSWD}
288294
# Normally generated by entrypoint at runtime
289295
- DATABASE_URL=postgresql://${APP_DB_USER}:${APP_DB_PASSWD}@database:5432/${APP_DB_NAME}?serverVersion=${APP_DB_VERSION}
290296
# Mailer configuration
@@ -298,12 +304,12 @@ services:
298304
- MAILER_DSN=smtp://mailer:1025
299305
# RabbitMQ configuration
300306
- MESSENGER_TRANSPORT=amqp
301-
- SF_RABBITMQ_HOST=rabbitmq
302-
- SF_RABBITMQ_PORT=5672
303-
- SF_RABBITMQ_USER=${APP_RABBIT_USER}
304-
- SF_RABBITMQ_PASSWORD=${APP_RABBIT_PASSWD}
307+
- MESSENGER_HOST=rabbitmq
308+
- MESSENGER_PORT=5672
309+
- MESSENGER_USERNAME=${APP_RABBITMQ_USERNAME}
310+
- MESSENGER_PASSWORD=${APP_RABBITMQ_PASSWORD}
305311
# Normally generated by entrypoint at runtime
306-
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBIT_USER}:${APP_RABBIT_PASSWD}@rabbitmq:5672/%2f/messages
312+
- MESSENGER_TRANSPORT_DSN=amqp://${APP_RABBITMQ_USERNAME}:${APP_RABBITMQ_PASSWORD}@rabbitmq:5672/%2f/messages
307313
# JWT passphrase. If not defined, container will generate passphrase and keys on startup
308314
- JWT_PASSPHRASE=${APP_JWT_PASSPHRASE}
309315
# Custom encryptor configuration
@@ -318,7 +324,7 @@ services:
318324
- LDAP_AUTH_BASE_DN=${APP_LDAP_AUTH_BASE_DN}
319325
- LDAP_AUTH_USER_QUERY=(objectClass=inetOrgPerson)
320326
- LDAP_AUTH_USERNAME_ATTRIBUTE=uid
321-
- LDAP_AUTH_EMAIL_ATTRIBUTE=mailer
327+
- LDAP_AUTH_EMAIL_ATTRIBUTE=mail
322328
- LDAP_BIND_DN=${APP_LDAP_BIND_DN}
323329
- LDAP_BIND_SECRET=${APP_LDAP_BIND_SECRET}
324330
# LDAP Group configuration
@@ -381,7 +387,6 @@ services:
381387
memswap_limit: 1024M
382388
expose:
383389
- '5672'
384-
- '15692'
385390
networks:
386391
app_internal_network:
387392
aliases:

0 commit comments

Comments
 (0)