@@ -82,36 +82,6 @@ x-postgresql-base: &postgresql-base
82
82
-c wal_level=minimal
83
83
# 13+: -c wal_keep_size=0
84
84
85
- x-sqlite-lib-base : &sqlite-lib-base
86
- image : django-docker-box:${PYTHON_IMPLEMENTATION}-${PYTHON_VERSION}-sqlite${SQLITE_VERSION}
87
- pull_policy : never
88
- build :
89
- context : .
90
- dockerfile_inline : |
91
- FROM django-docker-box:${PYTHON_IMPLEMENTATION}-${PYTHON_VERSION}
92
- SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-o", "xtrace", "-c"]
93
- # Only compile SQLite and set LD_PRELOAD if a version is specified.
94
- RUN <<EOF
95
- if [[ "${SQLITE_VERSION}" ]]; then
96
- export CFLAGS="${SQLITE_CFLAGS}"
97
- git clone --depth 1 --branch version-${SQLITE_VERSION} \
98
- https://github.com/sqlite/sqlite.git /tmp/sqlite
99
- cd /tmp/sqlite
100
- ./configure
101
- make
102
- cp .libs/libsqlite3.so /tmp/
103
- rm -rf /tmp/sqlite
104
- fi
105
- EOF
106
- SHELL ["/bin/bash", "-c"]
107
- ENV LD_PRELOAD=${SQLITE_VERSION:+/tmp/libsqlite3.so}
108
- args :
109
- - PYTHON_IMPLEMENTATION=${PYTHON_IMPLEMENTATION}
110
- - PYTHON_VERSION=${PYTHON_VERSION}
111
- - SQLITE_VERSION=${SQLITE_VERSION}
112
- - SQLITE_CFLAGS=${SQLITE_CFLAGS}
113
- additional_contexts : *additional-contexts
114
-
115
85
x-memcached : &memcached-base
116
86
image : memcached:alpine
117
87
deploy :
@@ -169,6 +139,10 @@ volumes:
169
139
170
140
services :
171
141
142
+ # Base service to allow building the image with `docker compose build base`.
143
+ base :
144
+ << : *base
145
+
172
146
# Services: Databases
173
147
174
148
mariadb-db :
@@ -313,18 +287,41 @@ services:
313
287
- DATABASE_ENGINE=django.db.backends.postgresql
314
288
- DATABASE_HOST=postgresql-db
315
289
316
- sqlite : &sqlite-base
290
+ sqlite :
317
291
<< : *base
292
+ image : django-docker-box:${PYTHON_IMPLEMENTATION}-${PYTHON_VERSION}-sqlite${SQLITE_VERSION}
293
+ pull_policy : never
294
+ build :
295
+ context : .
296
+ dockerfile_inline : |
297
+ FROM django-docker-box:${PYTHON_IMPLEMENTATION}-${PYTHON_VERSION}
298
+ SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-o", "xtrace", "-c"]
299
+ # Only compile SQLite and set LD_PRELOAD if a version is specified.
300
+ RUN <<EOF
301
+ if [[ "${SQLITE_VERSION}" ]]; then
302
+ export CFLAGS="${SQLITE_CFLAGS}"
303
+ git clone --depth 1 --branch version-${SQLITE_VERSION} \
304
+ https://github.com/sqlite/sqlite.git /tmp/sqlite
305
+ cd /tmp/sqlite
306
+ ./configure
307
+ make
308
+ cp .libs/libsqlite3.so /tmp/
309
+ rm -rf /tmp/sqlite
310
+ fi
311
+ EOF
312
+ SHELL ["/bin/bash", "-c"]
313
+ ENV LD_PRELOAD=${SQLITE_VERSION:+/tmp/libsqlite3.so}
314
+ args :
315
+ - PYTHON_IMPLEMENTATION=${PYTHON_IMPLEMENTATION}
316
+ - PYTHON_VERSION=${PYTHON_VERSION}
317
+ - SQLITE_VERSION=${SQLITE_VERSION}
318
+ - SQLITE_CFLAGS=${SQLITE_CFLAGS}
319
+ additional_contexts : *additional-contexts
318
320
depends_on :
319
321
<< : *depends-on-caches
320
322
environment :
321
323
- DATABASE_ENGINE=django.db.backends.sqlite3
322
324
323
- sqlite-lib :
324
- << :
325
- - *sqlite-lib-base
326
- - *sqlite-base
327
-
328
325
# Commands: Tests: GIS
329
326
330
327
mariadb-gis :
0 commit comments