@@ -45,8 +45,8 @@ services:
4545 MINIO_ROOT_USER : minioadmin
4646 MINIO_ROOT_PASSWORD : minioadmin
4747
48- db :
49- container_name : sapi-db
48+ db-pg10 :
49+ container_name : sapi-db-pg10
5050 image : postgres:10
5151 command : postgres -c max_wal_size=2GB
5252 healthcheck :
@@ -66,6 +66,27 @@ services:
6666 POSTGRES_HOST_AUTH_METHOD : " trust"
6767 POSTGRES_DB : " sapi_development"
6868
69+ db-pg17 :
70+ container_name : sapi-db-pg17
71+ image : postgres:17
72+ command : postgres -c max_wal_size=2GB
73+ healthcheck :
74+ test : ["CMD", "pg_isready", "-U", "postgres"]
75+ timeout : 45s
76+ interval : 10s
77+ retries : 10
78+ volumes :
79+ - ./db_init:/docker-entrypoint-initdb.d
80+ - ./db/structure.sql:/docker-entrypoint-initdb.d/sapi_schema.sql
81+ - ' pg17data:/var/lib/postgresql/data'
82+ ports :
83+ - " ${SAPI_CONTAINER_DB_PORT:-5417}:5432"
84+ networks :
85+ - sapi
86+ environment :
87+ POSTGRES_HOST_AUTH_METHOD : " trust"
88+ POSTGRES_DB : " sapi_development"
89+
6990 rails :
7091 container_name : sapi-rails
7192 build :
@@ -114,17 +135,18 @@ services:
114135 tty : true
115136 environment :
116137 MAILER_ADDRESS : sapi-mailcatcher
117- SAPI_DATABASE_HOST : sapi-db
138+ SAPI_DATABASE_HOST : sapi-db-pg17
118139 SAPI_DATABASE_USERNAME : postgres
119140 SAPI_DATABASE_PORT : 5432
120141 SAPI_SIDEKIQ_REDIS_URL : redis://sapi-redis:6379/0
121142 SAPI_SIDEKIQ_REDIS_CACHE_URL : redis://sapi-redis-cache:6380/0
122- CAPTIVE_BREEDING_DATABASE_HOST : sapi-db
143+ CAPTIVE_BREEDING_DATABASE_HOST : sapi-db-pg17
123144 SAPI_S3_PORT : ' ${SAPI_CONTAINER_S3_PORT:-9000}'
124145 depends_on :
125146 - redis
126147 - redis_cache
127- - db
148+ - db-pg10
149+ - db-pg17
128150 - mailcatcher
129151 - minio
130152 deploy :
@@ -138,7 +160,7 @@ services:
138160 stdin_open : true
139161 tty : true
140162 environment :
141- SAPI_DATABASE_HOST : sapi-db
163+ SAPI_DATABASE_HOST : sapi-db-pg17
142164 SAPI_SIDEKIQ_REDIS_URL : redis://sapi-redis:6379/0
143165 # Defaults to blank; used by AppSignal:
144166 USER : " $USER"
@@ -176,7 +198,8 @@ services:
176198 networks :
177199 - sapi
178200 depends_on :
179- - db
201+ - db-pg10
202+ - db-pg17
180203 - redis
181204 - redis_cache
182205 - mailcatcher
@@ -185,14 +208,13 @@ services:
185208 volumes : *rails_volumes
186209 environment :
187210 MAILER_ADDRESS : sapi-mailcatcher
188- SAPI_DATABASE_HOST : sapi-db
211+ SAPI_DATABASE_HOST : sapi-db-pg17
189212 SAPI_DATABASE_USERNAME : postgres
190213 SAPI_DATABASE_PORT : 5432
191- SAPI_SIDEKIQ_REDIS_URL : redis://sapi-redis:6379/0
192214 SAPI_S3_PORT : ' ${SAPI_CONTAINER_S3_PORT:-9000}'
215+ SAPI_SIDEKIQ_REDIS_URL : redis://sapi-redis:6379/0
193216 SAPI_SIDEKIQ_REDIS_CACHE_URL : redis://sapi-redis-cache:6380/0
194- CAPTIVE_BREEDING_DATABASE_HOST : sapi-db
195-
217+ CAPTIVE_BREEDING_DATABASE_HOST : sapi-db-pg17
196218 mailcatcher :
197219 container_name : sapi-mailcatcher
198220 image : sj26/mailcatcher
@@ -203,6 +225,7 @@ services:
203225
204226volumes :
205227 pgdata :
228+ pg17data :
206229 bundler_gems :
207230 redis_data :
208231 minio-data :
0 commit comments