11services :
22 # AAS Repository
33 aas-repository :
4- image : eclipsebasyx/aas-repository:2.0.0-milestone-05
4+ image : eclipsebasyx/aasrepository-go:SNAPSHOT
55 container_name : aas-repository
66 ports :
77 - ' 8081:8081'
88 environment :
99 # Service Configuration
10- SERVER_PORT : 8081
11- BASYX_BACKEND : " InMemory"
12- BASYX_CORS_ALLOWED_ORIGINS : " *"
13- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
10+ - SERVER_PORT=8081
11+ - CORS_ALLOWEDORIGINS=*
12+ - CORS_ALLOWEDHEADERS=*
13+ - CORS_ALLOWEDCREDENTIALS=true
14+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
15+ - POSTGRES_HOST=db
16+ - POSTGRES_PORT=5432
17+ - POSTGRES_USER=admin
18+ - POSTGRES_PASSWORD=admin123
19+ - POSTGRES_DBNAME=basyxTestDB
20+ - POSTGRES_MAXOPENCONNECTIONS=500
21+ - POSTGRES_MAXIDLECONNECTIONS=500
22+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
23+ - ABAC_ENABLED=false
24+ depends_on :
25+ db-schema-init :
26+ condition : service_completed_successfully
1427
1528 # Submodel Repository
1629 submodel-repository :
17- image : eclipsebasyx/submodel-repository:2.0.0-milestone-05
30+ image : eclipsebasyx/submodelrepository-go:SNAPSHOT
1831 container_name : submodel-repository
1932 ports :
2033 - ' 8082:8081'
2134 environment :
2235 # Service Configuration
23- SERVER_PORT : 8081
24- BASYX_BACKEND : " InMemory"
25- BASYX_CORS_ALLOWED_ORIGINS : " *"
26- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
36+ - SERVER_PORT=8081
37+ - CORS_ALLOWEDORIGINS=*
38+ - CORS_ALLOWEDHEADERS=*
39+ - CORS_ALLOWEDCREDENTIALS=true
40+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
41+ - POSTGRES_HOST=db
42+ - POSTGRES_PORT=5432
43+ - POSTGRES_USER=admin
44+ - POSTGRES_PASSWORD=admin123
45+ - POSTGRES_DBNAME=basyxTestDB
46+ - POSTGRES_MAXOPENCONNECTIONS=500
47+ - POSTGRES_MAXIDLECONNECTIONS=500
48+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
49+ - ABAC_ENABLED=false
50+ depends_on :
51+ db-schema-init :
52+ condition : service_completed_successfully
2753
2854 # Concept Description Repository
2955 cd-repository :
30- image : eclipsebasyx/conceptdescription-repository:2.0.0-milestone-05
56+ image : eclipsebasyx/conceptdescriptionrepository-go:SNAPSHOT
3157 container_name : cd-repository
3258 ports :
3359 - ' 8083:8081'
3460 environment :
3561 # Service Configuration
36- SERVER_PORT : 8081
37- BASYX_BACKEND : " InMemory"
38- BASYX_CORS_ALLOWED_ORIGINS : " *"
39- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
62+ - SERVER_PORT=8081
63+ - CORS_ALLOWEDORIGINS=*
64+ - CORS_ALLOWEDHEADERS=*
65+ - CORS_ALLOWEDCREDENTIALS=true
66+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
67+ - POSTGRES_HOST=db
68+ - POSTGRES_PORT=5432
69+ - POSTGRES_USER=admin
70+ - POSTGRES_PASSWORD=admin123
71+ - POSTGRES_DBNAME=basyxTestDB
72+ - POSTGRES_MAXOPENCONNECTIONS=500
73+ - POSTGRES_MAXIDLECONNECTIONS=500
74+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
75+ - ABAC_ENABLED=false
76+ depends_on :
77+ db-schema-init :
78+ condition : service_completed_successfully
4079
4180 # AAS Registry
4281 aas-registry :
43- image : eclipsebasyx/aas-registry-log-mem:2.0.0-milestone-05
82+ image : eclipsebasyx/aasregistry-go:SNAPSHOT
4483 container_name : aas-registry
4584 ports :
4685 - ' 8084:8080'
4786 environment :
4887 # Service Configuration
49- SERVER_PORT : 8080
50- BASYX_CORS_ALLOWED_ORIGINS : " *"
51- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
88+ - SERVER_PORT=8080
89+ - CORS_ALLOWEDORIGINS=*
90+ - CORS_ALLOWEDHEADERS=*
91+ - CORS_ALLOWEDCREDENTIALS=true
92+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
93+ - POSTGRES_HOST=db
94+ - POSTGRES_PORT=5432
95+ - POSTGRES_USER=admin
96+ - POSTGRES_PASSWORD=admin123
97+ - POSTGRES_DBNAME=basyxTestDB
98+ - POSTGRES_MAXOPENCONNECTIONS=500
99+ - POSTGRES_MAXIDLECONNECTIONS=500
100+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
101+ - ABAC_ENABLED=false
102+ depends_on :
103+ db-schema-init :
104+ condition : service_completed_successfully
52105
53106 # Submodel Registry
54107 sm-registry :
55- image : eclipsebasyx/submodel-registry-log-mem:2.0.0-milestone-05
108+ image : eclipsebasyx/submodelregistry-go:SNAPSHOT
56109 container_name : sm-registry
57110 ports :
58111 - ' 8085:8080'
59112 environment :
60113 # Service Configuration
61- SERVER_PORT : 8080
62- BASYX_CORS_ALLOWED_ORIGINS : " *"
63- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
114+ - SERVER_PORT=8080
115+ - CORS_ALLOWEDORIGINS=*
116+ - CORS_ALLOWEDHEADERS=*
117+ - CORS_ALLOWEDCREDENTIALS=true
118+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
119+ - POSTGRES_HOST=db
120+ - POSTGRES_PORT=5432
121+ - POSTGRES_USER=admin
122+ - POSTGRES_PASSWORD=admin123
123+ - POSTGRES_DBNAME=basyxTestDB
124+ - POSTGRES_MAXOPENCONNECTIONS=500
125+ - POSTGRES_MAXIDLECONNECTIONS=500
126+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
127+ - ABAC_ENABLED=false
128+ depends_on :
129+ db-schema-init :
130+ condition : service_completed_successfully
64131
65132 # AAS Discovery
66133 aas-discovery :
67- image : eclipsebasyx/aas-discovery:2.0.0-milestone-05
134+ image : eclipsebasyx/aasdiscovery-go:SNAPSHOT
68135 container_name : aas-discovery
69136 ports :
70137 - ' 8086:8081'
71138 environment :
72139 # Service Configuration
73- SERVER_PORT : 8081
74- BASYX_BACKEND : " InMemory"
75- BASYX_CORS_ALLOWED_ORIGINS : " *"
76- BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
140+ - SERVER_PORT=8081
141+ - CORS_ALLOWEDORIGINS=*
142+ - CORS_ALLOWEDHEADERS=*
143+ - CORS_ALLOWEDCREDENTIALS=true
144+ - CORS_ALLOWEDMETHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
145+ - POSTGRES_HOST=db
146+ - POSTGRES_PORT=5432
147+ - POSTGRES_USER=admin
148+ - POSTGRES_PASSWORD=admin123
149+ - POSTGRES_DBNAME=basyxTestDB
150+ - POSTGRES_MAXOPENCONNECTIONS=500
151+ - POSTGRES_MAXIDLECONNECTIONS=500
152+ - POSTGRES_CONNMAXLIFETIMEMINUTES=5
153+ - ABAC_ENABLED=false
154+ depends_on :
155+ db-schema-init :
156+ condition : service_completed_successfully
77157
78158 # AASX File Server
79159 aasx-file-server :
80- image : eclipsebasyx/aasxfileserver:2.0.0-milestone-05
160+ image : eclipsebasyx/aasxfileserver:2.0.0-milestone-08
81161 container_name : aasx-file-server
82162 ports :
83163 - ' 8087:8081'
@@ -87,3 +167,36 @@ services:
87167 BASYX_BACKEND : " InMemory"
88168 BASYX_CORS_ALLOWED_ORIGINS : " *"
89169 BASYX_CORS_ALLOWED_METHODS : " GET, POST, PATCH, DELETE, PUT, OPTIONS, HEAD"
170+
171+ # PostgreSQL database
172+ db :
173+ container_name : postgres_db
174+ image : postgres:18
175+ environment :
176+ POSTGRES_USER : admin
177+ POSTGRES_PASSWORD : admin123
178+ POSTGRES_DB : basyxTestDB
179+ command : ["postgres", "-c", "listen_addresses=*"]
180+ healthcheck :
181+ test : ["CMD-SHELL", "pg_isready -U admin -d basyxTestDB"]
182+ interval : 10s
183+ timeout : 5s
184+ retries : 5
185+
186+ # Database Schema Initialization
187+ db-schema-init :
188+ image : postgres:18
189+ container_name : db-schema-init
190+ environment :
191+ POSTGRES_HOST : db
192+ POSTGRES_PORT : 5432
193+ POSTGRES_USER : admin
194+ POSTGRES_PASSWORD : admin123
195+ POSTGRES_DB : basyxTestDB
196+ command : ["sh", "/init/init-schema.sh"]
197+ volumes :
198+ - ./basyxschema.sql:/schema/basyxschema.sql:ro
199+ - ./init-schema.sh:/init/init-schema.sh:ro
200+ depends_on :
201+ db :
202+ condition : service_healthy
0 commit comments