# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600' |
LABEL maintainer=CouchDB Developers dev@couchdb.apache.org |
RUN /bin/sh -c groupadd -g 5984 -r couchdb && useradd -u 5984 -d /opt/couchdb -g couchdb couchdb # buildkit |
RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends apt-transport-https ca-certificates dirmngr gnupg ; rm -rf /var/lib/apt/lists/* # buildkit |
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends tini; rm -rf /var/lib/apt/lists/*; tini --version # buildkit |
ENV GPG_COUCH_KEY=390EF70BB1EA12B2773962950EE62FB37A00258D |
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y curl; export GNUPGHOME="$(mktemp -d)"; curl -fL -o keys.asc https://couchdb.apache.org/repo/keys.asc; gpg --batch --import keys.asc; gpg --batch --export "${GPG_COUCH_KEY}" > /usr/share/keyrings/couchdb-archive-keyring.gpg; command -v gpgconf && gpgconf --kill all || :; rm -rf "$GNUPGHOME"; apt-key list; apt purge -y --autoremove curl; rm -rf /var/lib/apt/lists/* # buildkit |
ENV COUCHDB_VERSION=3.4.3 |
RUN /bin/sh -c . /etc/os-release; echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | tee /etc/apt/sources.list.d/couchdb.list >/dev/null # buildkit |
RUN /bin/sh -c set -eux; apt-get update; echo "couchdb couchdb/mode select none" | debconf-set-selections; DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-downgrades --allow-remove-essential --allow-change-held-packages couchdb="$COUCHDB_VERSION"~bookworm ; rmdir /var/lib/couchdb /var/log/couchdb; rm /opt/couchdb/data /opt/couchdb/var/log; mkdir -p /opt/couchdb/data /opt/couchdb/var/log; chown couchdb:couchdb /opt/couchdb/data /opt/couchdb/var/log; chmod 777 /opt/couchdb/data /opt/couchdb/var/log; rm /opt/couchdb/etc/default.d/10-filelog.ini; find /opt/couchdb \! \( -user couchdb -group couchdb \) -exec chown -f couchdb:couchdb '{}' +; find /opt/couchdb/etc -type d ! -perm 0755 -exec chmod -f 0755 '{}' +; find /opt/couchdb/etc -type f ! -perm 0644 -exec chmod -f 0644 '{}' +; chmod -f 0777 /opt/couchdb/etc/local.d; rm -rf /var/lib/apt/lists/*; # buildkit |
COPY --chown=couchdb:couchdb 10-docker-default.ini /opt/couchdb/etc/default.d/ # buildkit |
COPY --chown=couchdb:couchdb vm.args /opt/couchdb/etc/ # buildkit |
COPY docker-entrypoint.sh /usr/local/bin # buildkit |
RUN /bin/sh -c ln -s usr/local/bin/docker-entrypoint.sh /docker-entrypoint.sh # backwards compat # buildkit |
ENTRYPOINT ["tini" "--" "/docker-entrypoint.sh"] |
VOLUME [/opt/couchdb/data] |
EXPOSE map[4369/tcp:{} 5984/tcp:{} 9100/tcp:{}] |
CMD ["/opt/couchdb/bin/couchdb"] |