Skip to content

Commit c67e90b

Browse files
authored
Merge pull request #2791 from tdonohue/fix_docker_issues
Fix issue with cli.yml not using same network as backend.
2 parents 5a42f39 + be0a6c7 commit c67e90b

5 files changed

Lines changed: 34 additions & 43 deletions

File tree

.github/workflows/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ jobs:
3333
#CHROME_VERSION: "90.0.4430.212-1"
3434
# Bump Node heap size (OOM in CI after upgrading to Angular 15)
3535
NODE_OPTIONS: '--max-old-space-size=4096'
36+
# Project name to use when running docker-compose prior to e2e tests
37+
COMPOSE_PROJECT_NAME: 'ci'
3638
strategy:
3739
# Create a matrix of Node versions to test against (in parallel)
3840
matrix:

docker/cli.assetstore.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,8 @@
1414
# Therefore, it should be kept in sync with that file
1515
version: "3.7"
1616

17-
networks:
18-
dspacenet:
19-
2017
services:
2118
dspace-cli:
22-
networks:
23-
dspacenet: {}
2419
environment:
2520
# This assetstore zip is available from https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data
2621
- LOADASSETS=https://github.com/DSpace-Labs/AIP-Files/releases/download/demo-entities-data/assetstore.tar.gz

docker/cli.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@
1313
#
1414
# Therefore, it should be kept in sync with that file
1515
version: "3.7"
16-
16+
networks:
17+
# Default to using network named 'dspacenet' from docker-compose-rest.yml.
18+
# Its full name will be prepended with the project name (e.g. "-p d7" means it will be named "d7_dspacenet")
19+
# If COMPOSITE_PROJECT_NAME is missing, default value will be "docker" (name of folder this file is in)
20+
default:
21+
name: ${COMPOSE_PROJECT_NAME:-docker}_dspacenet
22+
external: true
1723
services:
1824
dspace-cli:
1925
image: "${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-latest}"
@@ -30,16 +36,12 @@ services:
3036
# solr.server: Ensure we are using the 'dspacesolr' image for Solr
3137
solr__P__server: http://dspacesolr:8983/solr
3238
volumes:
33-
- "assetstore:/dspace/assetstore"
39+
# Keep DSpace assetstore directory between reboots
40+
- assetstore:/dspace/assetstore
3441
entrypoint: /dspace/bin/dspace
3542
command: help
36-
networks:
37-
- dspacenet
3843
tty: true
3944
stdin_open: true
4045

4146
volumes:
4247
assetstore:
43-
44-
networks:
45-
dspacenet:

docker/docker-compose-ci.yml

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,18 @@ services:
3333
# Tell Statistics to commit all views immediately instead of waiting on Solr's autocommit.
3434
# This allows us to generate statistics in e2e tests so that statistics pages can be tested thoroughly.
3535
solr__D__statistics__P__autoCommit: 'false'
36+
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-latest-test}"
3637
depends_on:
3738
- dspacedb
38-
image: dspace/dspace:latest-test
3939
networks:
40-
dspacenet:
40+
- dspacenet
4141
ports:
4242
- published: 8080
4343
target: 8080
4444
stdin_open: true
4545
tty: true
4646
volumes:
4747
- assetstore:/dspace/assetstore
48-
# Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below)
49-
- solr_configs:/dspace/solr
5048
# Ensure that the database is ready BEFORE starting tomcat
5149
# 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep
5250
# 2. Then, run database migration to init database tables (including any out-of-order ignored migrations, if any)
@@ -70,31 +68,25 @@ services:
7068
PGDATA: /pgdata
7169
image: dspace/dspace-postgres-pgcrypto:loadsql
7270
networks:
73-
dspacenet:
71+
- dspacenet
7472
stdin_open: true
7573
tty: true
7674
volumes:
75+
# Keep Postgres data directory between reboots
7776
- pgdata:/pgdata
7877
# DSpace Solr container
7978
dspacesolr:
8079
container_name: dspacesolr
81-
# Uses official Solr image at https://hub.docker.com/_/solr/
82-
image: solr:8.11-slim
83-
# Needs main 'dspace' container to start first to guarantee access to solr_configs
84-
depends_on:
85-
- dspace
80+
image: "${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
8681
networks:
87-
dspacenet:
82+
- dspacenet
8883
ports:
8984
- published: 8983
9085
target: 8983
9186
stdin_open: true
9287
tty: true
9388
working_dir: /var/solr/data
9489
volumes:
95-
# Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder)
96-
# This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume
97-
- solr_configs:/opt/solr/server/solr/configsets/dspace
9890
# Keep Solr data directory between reboots
9991
- solr_data:/var/solr/data
10092
# Initialize all DSpace Solr cores using the mounted configsets (see above), then start Solr
@@ -103,14 +95,18 @@ services:
10395
- '-c'
10496
- |
10597
init-var-solr
106-
precreate-core authority /opt/solr/server/solr/configsets/dspace/authority
107-
precreate-core oai /opt/solr/server/solr/configsets/dspace/oai
108-
precreate-core search /opt/solr/server/solr/configsets/dspace/search
109-
precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics
98+
precreate-core authority /opt/solr/server/solr/configsets/authority
99+
cp -r /opt/solr/server/solr/configsets/authority/* authority
100+
precreate-core oai /opt/solr/server/solr/configsets/oai
101+
cp -r /opt/solr/server/solr/configsets/oai/* oai
102+
precreate-core search /opt/solr/server/solr/configsets/search
103+
cp -r /opt/solr/server/solr/configsets/search/* search
104+
precreate-core statistics /opt/solr/server/solr/configsets/statistics
105+
cp -r /opt/solr/server/solr/configsets/statistics/* statistics
106+
precreate-core qaevent /opt/solr/server/solr/configsets/qaevent
107+
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
110108
exec solr -f
111109
volumes:
112110
assetstore:
113111
pgdata:
114112
solr_data:
115-
# Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above)
116-
solr_configs:

docker/docker-compose-rest.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,14 @@ services:
4343
depends_on:
4444
- dspacedb
4545
networks:
46-
dspacenet:
46+
- dspacenet
4747
ports:
4848
- published: 8080
4949
target: 8080
5050
stdin_open: true
5151
tty: true
5252
volumes:
5353
- assetstore:/dspace/assetstore
54-
# Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below)
55-
- solr_configs:/dspace/solr
5654
# Ensure that the database is ready BEFORE starting tomcat
5755
# 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep
5856
# 2. Then, run database migration to init database tables
@@ -69,25 +67,23 @@ services:
6967
container_name: dspacedb
7068
environment:
7169
PGDATA: /pgdata
72-
image: dspace/dspace-postgres-pgcrypto
70+
image: "${DOCKER_OWNER:-dspace}/dspace-postgres-pgcrypto:${DSPACE_VER:-latest}"
7371
networks:
74-
dspacenet:
72+
- dspacenet
7573
ports:
7674
- published: 5432
7775
target: 5432
7876
stdin_open: true
7977
tty: true
8078
volumes:
79+
# Keep Postgres data directory between reboots
8180
- pgdata:/pgdata
8281
# DSpace Solr container
8382
dspacesolr:
8483
container_name: dspacesolr
8584
image: "${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
86-
# Needs main 'dspace' container to start first to guarantee access to solr_configs
87-
depends_on:
88-
- dspace
8985
networks:
90-
dspacenet:
86+
- dspacenet
9187
ports:
9288
- published: 8983
9389
target: 8983
@@ -115,10 +111,10 @@ services:
115111
cp -r /opt/solr/server/solr/configsets/search/* search
116112
precreate-core statistics /opt/solr/server/solr/configsets/statistics
117113
cp -r /opt/solr/server/solr/configsets/statistics/* statistics
114+
precreate-core qaevent /opt/solr/server/solr/configsets/qaevent
115+
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
118116
exec solr -f
119117
volumes:
120118
assetstore:
121119
pgdata:
122120
solr_data:
123-
# Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above)
124-
solr_configs:

0 commit comments

Comments
 (0)