@@ -42,6 +42,8 @@ services:
4242 qdrant :
4343 image : qdrant/qdrant:latest
4444 container_name : codecrow-qdrant
45+ environment :
46+ QDRANT__SERVICE__API_KEY : ${QDRANT_API_KEY:?QDRANT_API_KEY must be set in .env}
4547 ports :
4648 - " 127.0.0.1:6333:6333"
4749 - " 127.0.0.1:6334:6334"
@@ -65,12 +67,18 @@ services:
6567 SPRING_DATASOURCE_USERNAME : ${POSTGRES_USER:-codecrow_user}
6668 SPRING_DATASOURCE_PASSWORD : ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD must be set in .env}
6769
68- SPRING_JPA_HIBERNATE_DDL_AUTO : update
70+ SPRING_JPA_HIBERNATE_DDL_AUTO : validate
6971 SPRING_JPA_SHOW_SQL : " false"
7072 SPRING_JPA_PROPERTIES_HIBERNATE_FORMAT_SQL : " false"
7173 SPRING_JPA_DATABASE_PLATFORM : org.hibernate.dialect.PostgreSQLDialect
7274 SPRING_CONFIG_LOCATION : file:/app/config/application.properties
7375
76+ # Flyway database migrations (web-server is the migration owner)
77+ SPRING_FLYWAY_ENABLED : " true"
78+ SPRING_FLYWAY_BASELINE_ON_MIGRATE : " true"
79+ SPRING_FLYWAY_BASELINE_VERSION : " 0"
80+ SPRING_FLYWAY_LOCATIONS : classpath:db/migration/managed
81+
7482 SERVER_PORT : 8081
7583
7684 SPRING_SESSION_STORE_TYPE : redis
@@ -91,6 +99,7 @@ services:
9199 networks :
92100 - codecrow-network
93101 volumes :
102+ - source_code_tmp:/tmp
94103 - web_logs:/app/logs
95104 - ./config/java-shared/application.properties:/app/config/application.properties
96105 - ./config/java-shared/github-private-key/github-app-private-key.pem:/app/config/github-app-private-key.pem
@@ -111,12 +120,15 @@ services:
111120 SPRING_DATASOURCE_USERNAME : ${POSTGRES_USER:-codecrow_user}
112121 SPRING_DATASOURCE_PASSWORD : ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD must be set in .env}
113122
114- SPRING_JPA_HIBERNATE_DDL_AUTO : update
123+ SPRING_JPA_HIBERNATE_DDL_AUTO : validate
115124 SPRING_JPA_SHOW_SQL : " false"
116125 SPRING_JPA_PROPERTIES_HIBERNATE_FORMAT_SQL : " false"
117126 SPRING_JPA_DATABASE_PLATFORM : org.hibernate.dialect.PostgreSQLDialect
118127 SPRING_CONFIG_LOCATION : file:/app/config/application.properties
119128
129+ # Flyway disabled — web-server is the migration owner
130+ SPRING_FLYWAY_ENABLED : " false"
131+
120132 SERVER_PORT : 8082
121133
122134 SPRING_SESSION_STORE_TYPE : redis
@@ -160,12 +172,15 @@ services:
160172 depends_on :
161173 - rag-pipeline
162174 - web-server
175+ - redis
163176 environment :
164177 # API access for Platform MCP (internal network only)
165178 CODECROW_API_URL : http://codecrow-web-application:8081
166179 PLATFORM_MCP_JAR : /app/codecrow-platform-mcp-1.0.jar
167180 # Internal API secret for service-to-service communication
168181 INTERNAL_API_SECRET : ${INTERNAL_API_SECRET:?INTERNAL_API_SECRET must be set in .env}
182+ # Redis connection for async analysis queue (DB 1 to isolate from session storage on DB 0)
183+ REDIS_URL : redis://redis:6379/1
169184 networks :
170185 - codecrow-network
171186 volumes :
@@ -188,9 +203,13 @@ services:
188203 environment :
189204 CODECROW_WEB_SERVER_URL : http://web-server:8081
190205 CODECROW_INTERNAL_SECRET : ${INTERNAL_API_SECRET:?INTERNAL_API_SECRET must be set in .env}
206+ QDRANT_API_KEY : ${QDRANT_API_KEY:?QDRANT_API_KEY must be set in .env}
207+ REDIS_URL : redis://redis:6379/1
191208 ports :
192209 - " 127.0.0.1:8001:8001"
193210 depends_on :
211+ redis :
212+ condition : service_healthy
194213 fix-permissions :
195214 condition : service_completed_successfully
196215 qdrant :
0 commit comments