@@ -33,45 +33,45 @@ RUN set -ex; \
33
33
ENV GOSU_VERSION 1.11
34
34
ENV TINI_VERSION 0.18.0
35
35
RUN set -ex; \
36
- \
37
- apt-get update; \
38
- apt-get install -y --no-install-recommends wget; \
39
- rm -rf /var/lib/apt/lists/*; \
40
- \
41
- dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" ; \
42
- \
36
+ \
37
+ apt-get update; \
38
+ apt-get install -y --no-install-recommends wget; \
39
+ rm -rf /var/lib/apt/lists/*; \
40
+ \
41
+ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" ; \
42
+ \
43
43
# install gosu
44
- wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-$dpkgArch" ; \
45
- wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" ; \
46
- export GNUPGHOME="$(mktemp -d)" ; \
44
+ wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-$dpkgArch" ; \
45
+ wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" ; \
46
+ export GNUPGHOME="$(mktemp -d)" ; \
47
47
echo "disable-ipv6" >> ${GNUPGHOME}/dirmngr.conf; \
48
48
for server in $(shuf -e pgpkeys.mit.edu \
49
49
ha.pool.sks-keyservers.net \
50
50
hkp://p80.pool.sks-keyservers.net:80 \
51
51
pgp.mit.edu) ; do \
52
52
gpg --batch --keyserver $server --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
53
53
done; \
54
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
55
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
56
- chmod +x /usr/local/bin/gosu; \
57
- gosu nobody true; \
54
+ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
55
+ rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
56
+ chmod +x /usr/local/bin/gosu; \
57
+ gosu nobody true; \
58
58
\
59
59
# install tini
60
- wget -O /usr/local/bin/tini "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch" ; \
61
- wget -O /usr/local/bin/tini.asc "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch.asc" ; \
62
- export GNUPGHOME="$(mktemp -d)" ; \
60
+ wget -O /usr/local/bin/tini "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch" ; \
61
+ wget -O /usr/local/bin/tini.asc "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch.asc" ; \
62
+ export GNUPGHOME="$(mktemp -d)" ; \
63
63
echo "disable-ipv6" >> ${GNUPGHOME}/dirmngr.conf; \
64
64
for server in $(shuf -e pgpkeys.mit.edu \
65
65
ha.pool.sks-keyservers.net \
66
66
hkp://p80.pool.sks-keyservers.net:80 \
67
67
pgp.mit.edu) ; do \
68
68
gpg --batch --keyserver $server --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \
69
69
done; \
70
- gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
71
- rm -rf "$GNUPGHOME" /usr/local/bin/tini.asc; \
72
- chmod +x /usr/local/bin/tini; \
70
+ gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
71
+ rm -rf "$GNUPGHOME" /usr/local/bin/tini.asc; \
72
+ chmod +x /usr/local/bin/tini; \
73
73
apt-get purge -y --auto-remove wget; \
74
- tini --version
74
+ tini --version
75
75
76
76
# http://docs.couchdb.org/en/latest/install/unix.html#installing-the-apache-couchdb-packages
77
77
ENV GPG_COUCH_KEY \
@@ -121,12 +121,16 @@ COPY docker-entrypoint.sh /usr/local/bin
121
121
RUN ln -s usr/local/bin/docker-entrypoint.sh /docker-entrypoint.sh # backwards compat
122
122
ENTRYPOINT ["tini" , "--" , "/docker-entrypoint.sh" ]
123
123
124
+
125
+ RUN set -xe; \
126
+ # Check we own everything in /opt/couchdb. Matches the command in dockerfile_entrypoint.sh
127
+ find /opt/couchdb \! \( -user couchdb -group couchdb \) -exec chown -f couchdb:couchdb '{}' +; \
124
128
# Setup directories and permissions for config. Technically these could be 555 and 444 respectively
125
- # but we keep them as 755 and 644 for consistency with CouchDB defaults and the dockerfile_entrypoint.
126
- RUN find /opt/couchdb/etc -type d ! -perm 0755 -exec chmod -f 0755 '{}' +; \
127
- find /opt/couchdb/etc -type f ! -perm 0644 -exec chmod -f 0644 '{}' +; \
128
- # only local.d needs to be writable for the docker_entrypoint.sh
129
- chmod -f 0777 /opt/couchdb/etc/local.d
129
+ # but we keep them as 755 and 644 for consistency with CouchDB defaults and the dockerfile_entrypoint.sh.
130
+ find /opt/couchdb/etc -type d ! -perm 0755 -exec chmod -f 0755 '{}' +; \
131
+ find /opt/couchdb/etc -type f ! -perm 0644 -exec chmod -f 0644 '{}' +; \
132
+ # only local.d needs to be writable for the docker_entrypoint.sh
133
+ chmod -f 0777 /opt/couchdb/etc/local.d
130
134
131
135
VOLUME /opt/couchdb/data
132
136
0 commit comments