Skip to content

Commit 697be61

Browse files
committed
stub out local version
Based on gdcc/pyDataverse#158
1 parent 554735e commit 697be61

4 files changed

Lines changed: 133 additions & 0 deletions

File tree

.env

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
APP_IMAGE=gdcc/dataverse:unstable
2+
POSTGRES_VERSION=13
3+
DATAVERSE_DB_USER=dataverse
4+
SOLR_VERSION=8.11.1

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docker-dev-volumes

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,27 @@
11
# container-test
2+
23
Testing GitHub Actions that spin up Dataverse in containers for API testing
4+
5+
## Running containers locally
6+
7+
Review the settings file:
8+
9+
```
10+
cat .env
11+
```
12+
13+
Start the containers:
14+
15+
```
16+
docker-compose -f docker-compose-dev.yml up
17+
```
18+
19+
Check the version returned by Dataverse:
20+
21+
```
22+
curl http://localhost:8080/api/info/version
23+
```
24+
25+
TODO: Set up Dataverse. Instructions for developers of Dataverse itself are at https://preview.guides.gdcc.io/en/develop/container/dev-usage.html
26+
27+
Please note that `.env` and `docker-compose-dev.yml` can be found upstream at https://github.com/IQSS/dataverse

docker-compose-dev.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
version: "2.4"
2+
3+
services:
4+
5+
dev_dataverse:
6+
container_name: "dev_dataverse"
7+
hostname: dataverse
8+
image: ${APP_IMAGE}
9+
restart: on-failure
10+
user: payara
11+
environment:
12+
- DATAVERSE_DB_HOST=postgres
13+
- DATAVERSE_DB_PASSWORD=secret
14+
- DATAVERSE_DB_USER=${DATAVERSE_DB_USER}
15+
ports:
16+
- "8080:8080" # HTTP (Dataverse Application)
17+
- "4848:4848" # HTTP (Payara Admin Console)
18+
- "9009:9009" # JDWP
19+
- "8686:8686" # JMX
20+
networks:
21+
- dataverse
22+
depends_on:
23+
- dev_postgres
24+
- dev_solr
25+
volumes:
26+
- ./docker-dev-volumes/app/data:/dv
27+
- ./docker-dev-volumes/app/secrets:/secrets
28+
tmpfs:
29+
- /dumps:mode=770,size=2052M,uid=1000,gid=1000
30+
- /tmp:mode=770,size=2052M,uid=1000,gid=1000
31+
mem_limit: 2147483648 # 2 GiB
32+
mem_reservation: 1024m
33+
privileged: false
34+
35+
dev_postgres:
36+
container_name: "dev_postgres"
37+
hostname: postgres
38+
image: postgres:${POSTGRES_VERSION}
39+
restart: on-failure
40+
environment:
41+
- POSTGRES_USER=${DATAVERSE_DB_USER}
42+
- POSTGRES_PASSWORD=secret
43+
ports:
44+
- "5432:5432"
45+
networks:
46+
- dataverse
47+
volumes:
48+
- ./docker-dev-volumes/postgresql/data:/var/lib/postgresql/data
49+
50+
dev_solr_initializer:
51+
container_name: "dev_solr_initializer"
52+
image: alpine
53+
restart: "no"
54+
command:
55+
- sh
56+
- -c
57+
- "chown 8983:8983 /conf /var/solr && cp *.xml /conf"
58+
volumes:
59+
- ./docker-dev-volumes/solr/data:/var/solr
60+
- ./docker-dev-volumes/solr/conf:/conf
61+
- ./conf/solr/8.11.1/schema.xml:/schema.xml
62+
- ./conf/solr/8.11.1/solrconfig.xml:/solrconfig.xml
63+
64+
dev_solr:
65+
container_name: "dev_solr"
66+
hostname: "solr"
67+
image: solr:${SOLR_VERSION}
68+
depends_on:
69+
- dev_solr_initializer
70+
restart: on-failure
71+
ports:
72+
- "8983:8983"
73+
networks:
74+
- dataverse
75+
command:
76+
- bash
77+
- -c
78+
- "cd /opt/solr-${SOLR_VERSION}/server/solr/configsets/_default/conf && cp -R -n . /template && solr-precreate collection1 /template"
79+
volumes:
80+
- ./docker-dev-volumes/solr/data:/var/solr
81+
- ./docker-dev-volumes/solr/conf:/template
82+
83+
dev_smtp:
84+
container_name: "dev_smtp"
85+
hostname: "smtp"
86+
image: maildev/maildev:2.0.5
87+
restart: on-failure
88+
ports:
89+
- "25:25" # smtp server
90+
- "1080:1080" # web ui
91+
environment:
92+
- MAILDEV_SMTP_PORT=25
93+
- MAILDEV_MAIL_DIRECTORY=/mail
94+
networks:
95+
- dataverse
96+
#volumes:
97+
# - ./docker-dev-volumes/smtp/data:/mail
98+
tmpfs:
99+
- /mail:mode=770,size=128M,uid=1000,gid=1000
100+
101+
networks:
102+
dataverse:
103+
driver: bridge

0 commit comments

Comments
 (0)