-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdocker-compose.env
147 lines (126 loc) · 6.91 KB
/
docker-compose.env
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
# This contains environment variables defining the docker-compose services
# for the catalog-api docker-based development/testing environments. These
# should ONLY be changed when/if the underlying services or directories
# referenced in `docker-compose.yml` are changed.
DDPATH=./docker_data
SIERRA_FIXTURE_PATH=./django/sierra/base/fixtures
SOLRCONF_PATH=./solrconf
SOLRCONF_DOCKER_MOUNT_PATH=/mnt/solrconf
PROJECT_DOCKER_MOUNT_PATH=/project
PROJECT_DOCKER_WORKDIR_PATH="$PROJECT_DOCKER_MOUNT_PATH/catalog-api"
PROJECT_LOGS_DOCKER_MOUNT_PATH="$PROJECT_DOCKER_MOUNT_PATH/logs"
PROJECT_MEDIA_DOCKER_MOUNT_PATH="$PROJECT_DOCKER_MOUNT_PATH/media"
# These define the default images to use for various components.
# Generally, the defaults will reflect the minimum version, which we'll
# bump as necessary.
DOCKER_PYTHON_IMAGE="${DOCKER_PYTHON_IMAGE:-python:3.10.12}"
DOCKER_MYSQL_IMAGE="${DOCKER_MYSQL_IMAGE:-mariadb:10.6}"
DOCKER_POSTGRES_IMAGE="${DOCKER_POSTGRES_IMAGE:-postgres:14}"
DOCKER_SOLR_IMAGE="${DOCKER_SOLR_IMAGE:-solr:9.2.1}"
DOCKER_REDIS_IMAGE="${DOCKER_REDIS_IMAGE:-redis:7.0.10}"
# These define the 'luceneMatchVersion' used in the solrconfig.xml file
# for each core. Be default it will use the latest version compatible
# with Solr (DOCKER_SOLR_IMAGE).
DOCKER_SOLR_HAYSTACK_LUCENE_VERSION="${DOCKER_SOLR_HAYSTACK_LUCENE_VERSION:-LATEST}"
DOCKER_SOLR_DISCOVER01_LUCENE_VERSION="${DOCKER_SOLR_DISCOVER01_LUCENE_VERSION:-LATEST}"
DOCKER_SOLR_DISCOVER02_LUCENE_VERSION="${DOCKER_SOLR_DISCOVER02_LUCENE_VERSION:-LATEST}"
SOLR_LUCENE_VERSION_OPTS="-DhaystackLuceneVersion=${DOCKER_SOLR_HAYSTACK_LUCENE_VERSION} -Ddiscover01LuceneVersion=${DOCKER_SOLR_DISCOVER01_LUCENE_VERSION} -Ddiscover02LuceneVersion=${DOCKER_SOLR_DISCOVER02_LUCENE_VERSION}"
# Docker-compose Service Definitions
DEV_SERVICES=("default-db-dev" "solr-dev" "redis-celery-dev" "redis-appdata-dev" "app" "celery-worker-dev")
TEST_SERVICES=("default-db-test" "sierra-db-test" "solr-test-for-update" "solr-test-for-search" "redis-celery-test" "redis-appdata-test" "celery-worker-test" "test")
ALL_SERVICES=("${DEV_SERVICES[@]}" "${TEST_SERVICES[@]}")
# default-db-dev
DEFAULT_DB_DEV_DEF="The default Django MariaDB database for a development environment.
Migrations are needed to set up the needed Django apps."
DEFAULT_DB_DEV_DDPATH="$DDPATH/default_db_dev"
DEFAULT_DB_DEV_PATHS=($DEFAULT_DB_DEV_DDPATH)
# default-db-test
DEFAULT_DB_TEST_DEF="The default Django MariaDB database for a test environment. Migrations are
needed to set up the needed Django apps. This must be set up and migrated
before you run initial migrations on sierra-db-test."
DEFAULT_DB_TEST_DDPATH="$DDPATH/default_db_test"
DEFAULT_DB_TEST_PATHS=($DEFAULT_DB_TEST_DDPATH)
# sierra-db-test
SIERRA_DB_TEST_DEF="The default Django MariaDB database for a test environment. Migrations are
needed to set up the needed Django apps. This must be set up and migrated
before you run initial migrations on sierra-db-test."
SIERRA_DB_TEST_DDPATH="$DDPATH/sierra_db_test"
SIERRA_DB_TEST_PATHS=($SIERRA_DB_TEST_DDPATH)
# solr-dev
SOLR_DEV_DEF="Empty instance of Solr for a development environment. No migrations."
SOLR_DEV_DDPATH="$DDPATH/solr_dev"
SOLR_DEV_PATHS=($SOLR_DEV_DDPATH)
# solr-test-for-update
SOLR_TEST_FOR_UPDATE_DEF="Empty instance of Solr for a test environment, simulating an update-only index. No migrations."
SOLR_TEST_FOR_UPDATE_DDPATH="$DDPATH/solr_test_for_update"
SOLR_TEST_FOR_UPDATE_PATHS=($SOLR_TEST_FOR_UPDATE_DDPATH)
# solr-test-for-search
SOLR_TEST_FOR_SEARCH_DEF="Empty instance of Solr for a test environment, simulating a search-only index. No migrations."
SOLR_TEST_FOR_SEARCH_DDPATH="$DDPATH/solr_test_for_search"
SOLR_TEST_FOR_SEARCH_PATHS=($SOLR_TEST_FOR_SEARCH_DDPATH)
# redis-celery-dev
REDIS_CELERY_DEV_DEF="Redis instance behind Celery, used in development. No migrations."
REDIS_CELERY_DEV_DDPATH="$DDPATH/redis_celery_dev"
REDIS_CELERY_DEV_DATA_DDPATH="$REDIS_CELERY_DEV_DDPATH/data"
REDIS_CELERY_DEV_LOGS_DDPATH="$REDIS_CELERY_DEV_DDPATH/logs"
REDIS_CELERY_DEV_PATHS=($REDIS_CELERY_DEV_DDPATH $REDIS_CELERY_DEV_DATA_DDPATH $REDIS_CELERY_DEV_LOGS_DDPATH)
if [ ! -z "$REDIS_CELERY_PASSWORD" ]
then
REDIS_CELERY_DEV_PW_ARG="--requirepass $REDIS_CELERY_PASSWORD"
fi
# redis-celery-test
REDIS_CELERY_TEST_DEF="Redis instance behind Celery, used in testing. No migrations."
REDIS_CELERY_TEST_DDPATH="$DDPATH/redis_celery_test"
REDIS_CELERY_TEST_DATA_DDPATH="$REDIS_CELERY_TEST_DDPATH/data"
REDIS_CELERY_TEST_LOGS_DDPATH="$REDIS_CELERY_TEST_DDPATH/logs"
REDIS_CELERY_TEST_PATHS=($REDIS_CELERY_TEST_DDPATH $REDIS_CELERY_TEST_DATA_DDPATH $REDIS_CELERY_TEST_LOGS_DDPATH)
if [ ! -z "$TEST_REDIS_CELERY_PASSWORD" ]
then
REDIS_CELERY_TEST_PW_ARG="--requirepass $TEST_REDIS_CELERY_PASSWORD"
fi
# redis-appdata-dev
REDIS_APPDATA_DEV_DEF="Redis instance that stores some app data in development. No migrations."
REDIS_APPDATA_DEV_DDPATH="$DDPATH/redis_appdata_dev"
REDIS_APPDATA_DEV_DATA_DDPATH="$REDIS_APPDATA_DEV_DDPATH/data"
REDIS_APPDATA_DEV_LOGS_DDPATH="$REDIS_APPDATA_DEV_DDPATH/logs"
REDIS_APPDATA_DEV_PATHS=($REDIS_APPDATA_DEV_DDPATH $REDIS_APPDATA_DEV_DATA_DDPATH $REDIS_APPDATA_DEV_LOGS_DDPATH)
if [ ! -z "$REDIS_APPDATA_PASSWORD" ]
then
REDIS_APPDATA_DEV_PW_ARG="--requirepass $REDIS_APPDATA_PASSWORD"
fi
# redis-appdata-test
REDIS_APPDATA_TEST_DEF="Redis instance that stores some app data in test. No migrations."
REDIS_APPDATA_TEST_DDPATH="$DDPATH/redis_appdata_test"
REDIS_APPDATA_TEST_DATA_DDPATH="$REDIS_APPDATA_TEST_DDPATH/data"
REDIS_APPDATA_TEST_LOGS_DDPATH="$REDIS_APPDATA_TEST_DDPATH/logs"
REDIS_APPDATA_TEST_PATHS=($REDIS_APPDATA_TEST_DDPATH $REDIS_APPDATA_TEST_DATA_DDPATH $REDIS_APPDATA_TEST_LOGS_DDPATH)
if [ ! -z "$TEST_REDIS_APPDATA_PASSWORD" ]
then
REDIS_APPDATA_TEST_PW_ARG="--requirepass $TEST_REDIS_APPDATA_PASSWORD"
fi
# app
APP_DEF="The development app itself. Log and media directories are set up. No
migrations."
APP_DDPATH="$DDPATH/app"
APP_LOGS_DDPATH="$APP_DDPATH/logs"
APP_MEDIA_DDPATH="$APP_DDPATH/media"
APP_PATHS=($APP_DDPATH $APP_LOGS_DDPATH $APP_MEDIA_DDPATH)
# celery-worker-dev
CELERY_WORKER_DEV_DEF="The celery-worker service that runs in development. A log directory is set
up. No migrations."
CELERY_WORKER_DEV_DDPATH="$DDPATH/celery_worker_dev"
CELERY_WORKER_DEV_LOGS_DDPATH="$CELERY_WORKER_DEV_DDPATH/logs"
CELERY_WORKER_DEV_PATHS=($CELERY_WORKER_DEV_DDPATH $CELERY_WORKER_DEV_LOGS_DDPATH)
# celery-worker-test
CELERY_WORKER_TEST_DEF="The celery-worker service that runs during tests, specifically for
integration tests. A log directory is set up. No migrations."
CELERY_WORKER_TEST_DDPATH="$DDPATH/celery_worker_test"
CELERY_WORKER_TEST_LOGS_DDPATH="$CELERY_WORKER_TEST_DDPATH/logs"
CELERY_WORKER_TEST_PATHS=($CELERY_WORKER_TEST_DDPATH $CELERY_WORKER_TEST_LOGS_DDPATH)
# test
TEST_DEF="Log and media directories are set up for the test environment. No
migrations."
TEST_DDPATH="$DDPATH/test"
TEST_LOGS_DDPATH="$TEST_DDPATH/logs"
TEST_MEDIA_DDPATH="$TEST_DDPATH/media"
TEST_PATHS=($TEST_DDPATH $TEST_LOGS_DDPATH $TEST_MEDIA_DDPATH)