# Dockerfile for Citadel
#
-# Copyright (c) 2019-2022 by the citadel.org team
+# Copyright (c) 2019-2023 by the citadel.org team
#
# This program is open source software. Use, duplication, or disclosure
# is subject to the terms of the GNU General Public License, version 3.
# Build our own local copy of Berkeley DB, because the one included with the system libs is too old.
# We will install it to /usr/local and carry it over to the second stage build.
-RUN sh -c 'mkdir /tmp/db_build && \
- cd /tmp/db_build && \
- curl -k https://easyinstall.citadel.org/db-6.2.32.NC.tar.gz | tar xvzf - && \
- cd db-6.2.32.NC/build_unix && \
- ../dist/configure --prefix=/usr/local --disable-static --disable-compat185 --disable-cxx --disable-debug --disable-dump185 --disable-java --disable-tcl --disable-test --without-rpm && \
- make && \
- make install && \
- cd /tmp && \
- rm -fr /tmp/db_build'
+# build and install Berkeley DB
+RUN sh -c 'mkdir /tmp/db_build'
+RUN sh -c 'cd /tmp/db_build && curl -k https://easyinstall.citadel.org/db-18.1.40.tar.gz | tar xvzf -'
+RUN sh -c '\
+ cd /tmp/db_build/db-18.1.40/build_unix && \
+ ../dist/configure --prefix=/usr/local \
+ --enable-smallbuild \
+ --with-uniquename=_ctdl \
+ --enable-static --disable-shared \
+ --disable-compat185 --disable-cxx --disable-debug \
+ --disable-dump185 --disable-java --disable-tcl --disable-test --without-rpm'
+RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make -j`cat /proc/cpuinfo | grep processor | wc -l`'
+RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_lib'
+RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_include'
+RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_utilities'
+RUN sh -c 'rm -fr /tmp/db_build'
# Create our build directory
RUN mkdir /tmp/ctdl_build
export CFLAGS=-I/usr/local/include && \
export LDFLAGS=-L/usr/local/lib && \
cd /tmp/ctdl_build/citadel/textclient && \
- ./configure --prefix=/usr --ctdldir=/citadel_data && \
+ ./configure --prefix=/usr/local --ctdldir=/citadel_data && \
make && make install && \
cd /tmp && \
rm -vfr /tmp/ctdl_build && \
RUN ldconfig -v
# Ports
-EXPOSE 25 80 110 119 143 443 465 504 563 587 993 995 2020 5222
+EXPOSE 25 80 110 119 143 443 465 504 563 587 993 995 5222
# Let's go!
ENTRYPOINT ["/usr/local/bin/ctdlvisor"]