Skip to content
This repository was archived by the owner on Nov 22, 2018. It is now read-only.

Commit 0895e1f

Browse files
committed
Merge branch 'dev'
2 parents e988619 + 870b6fa commit 0895e1f

File tree

3 files changed

+100
-56
lines changed

3 files changed

+100
-56
lines changed

Dockerfile

Lines changed: 95 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Dockerfile for the PDC's HubDB service
22
#
33
#
4-
# HubDB for PDC-collected aggregate data.
4+
# HubDB for PDC-collected aggregate data. Based on Mongo official 3.0.
55
#
66
# Example:
77
# sudo docker pull pdcbc/hubdb
@@ -14,21 +14,110 @@
1414
# - Mongo live db: -v </path/>:/data/db/:rw
1515
# - Mongo dumps: -v </path/>:/data/dump/:rw
1616
#
17-
FROM mongo:3.0
17+
# Releases
18+
# - https://github.com/PDCbc/gateway/releases
19+
#
20+
#
21+
FROM phusion/baseimage
1822
MAINTAINER derek.roberts@gmail.com
19-
ENV RELEASE 0.1.5
23+
ENV RELEASE 0.1.6
24+
25+
26+
################################################################################
27+
# Start - modified from https://hub.docker.com/_/mongo/
28+
################################################################################
29+
30+
31+
# Create users and groups
32+
#
33+
RUN groupadd -r mongodb; \
34+
useradd -r -g mongodb mongodb
35+
36+
37+
# Packages
38+
#
39+
RUN apt-get update; \
40+
apt-get install -y --no-install-recommends \
41+
ca-certificates; \
42+
rm -rf /var/lib/apt/lists/*
43+
44+
45+
# MongoDB
46+
#
47+
ENV MONGO_MAJOR 3.0
48+
ENV MONGO_VERSION 3.0.7
49+
#
50+
RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 492EAFE8CD016A07919F1D2B9ECBEC467F0CEB10; \
51+
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/$MONGO_MAJOR multiverse" > /etc/apt/sources.list.d/mongodb-org.list
52+
RUN apt-get update; \
53+
apt-get install -y \
54+
mongodb-org=$MONGO_VERSION \
55+
mongodb-org-server=$MONGO_VERSION \
56+
mongodb-org-shell=$MONGO_VERSION \
57+
mongodb-org-mongos=$MONGO_VERSION \
58+
mongodb-org-tools=$MONGO_VERSION; \
59+
rm -rf /var/lib/apt/lists/* \
60+
/var/lib/mongodb \
61+
/etc/mongod.conf
62+
63+
64+
# Volume
65+
#
66+
RUN mkdir -p /data/db; \
67+
chown -R mongodb:mongodb /data/db
68+
VOLUME /data/db
69+
70+
71+
# Port
72+
#
73+
EXPOSE 27017
74+
75+
76+
################################################################################
77+
# End - modified from https://hub.docker.com/_/mongo/
78+
################################################################################
2079

2180

2281
# Packages
2382
#
2483
RUN apt-get update; \
2584
apt-get install -y \
26-
git; \
27-
apt-get clean; \
28-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
85+
git; \
86+
apt-get clean; \
87+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2988

3089

3190
# Prepare /app/ folder
3291
#
3392
WORKDIR /app/
3493
RUN git clone https://github.com/pdcbc/hubdb.git . -b ${RELEASE}
94+
95+
96+
# Mongo startup
97+
#
98+
RUN mkdir -p /etc/service/mongod/; \
99+
SCRIPT=/etc/service/mongod/run; \
100+
( \
101+
echo "#!/bin/bash"; \
102+
echo ""; \
103+
echo "set -e -o nounset"; \
104+
echo ""; \
105+
echo ""; \
106+
echo "# Start mongod"; \
107+
echo "#"; \
108+
echo "#exec mongod --storageEngine wiredTiger"; \
109+
echo "exec mongod"; \
110+
) \
111+
>> ${SCRIPT}; \
112+
chmod +x ${SCRIPT}
113+
114+
115+
# Maintenance script and cron job
116+
#
117+
RUN SCRIPT=/app/mongo_maint.sh; \
118+
( \
119+
echo "# Run database dump/maintenance script (boot, daily 1:15 AM)"; \
120+
echo "@reboot "${SCRIPT}; \
121+
echo "15 1 * * * "${SCRIPT}; \
122+
) \
123+
| crontab -

filterProviders.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

mongo_maint.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ set -e -o nounset
1616
# Set db keys to prevent duplicates
1717
#
1818
mongo query_composer_development --eval \
19-
'printjson( db.users.ensureIndex({ username : 1 }, { unique : true }))'
19+
'printjson( db.users.ensureIndex({ username : 1 }, { unique: true }))'
2020
mongo query_composer_development --eval \
21-
'printjson( db.endpoints.ensureIndex({ base_url : 1 }, { unique : true }))'
21+
'printjson( db.endpoints.ensureIndex({ base_url : 1 }, { unique: true }))'
2222
mongo query_composer_development --eval \
23-
'printjson( db.users.ensureIndex({ first_name: 1, last_name:1 }, { unique: true }))'
23+
'printjson( db.users.ensureIndex({ username: 1 }, { unique: true }))'
24+
mongo query_composer_development --eval \
25+
'printjson( db.queries.ensureIndex({ description: 1 }, { unique: true }))'
2426

2527

2628
# Dump MongoDB, report failure if unsuccessful

0 commit comments

Comments
 (0)