Skip to content

Commit 943eb10

Browse files
committed
Update cgimap dockerfile using code form original repo
1 parent 770ca83 commit 943eb10

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

images/cgimap/Dockerfile

+34-30
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,45 @@
1-
FROM ruby:3.3.0 AS builder
1+
FROM debian:bookworm-slim AS builder
22

33
ENV DEBIAN_FRONTEND=noninteractive
4-
ENV workdir=/var/www
4+
5+
RUN apt-get update -qq && \
6+
apt-get install -y gcc g++ make cmake \
7+
libfcgi-dev libxml2-dev libmemcached-dev libbrotli-dev \
8+
libboost-program-options-dev libcrypto++-dev libyajl-dev \
9+
libpqxx-dev zlib1g-dev libfmt-dev \
10+
postgresql-15 postgresql-server-dev-all dpkg-dev file ca-certificates git \
11+
--no-install-recommends && \
12+
apt-get clean && \
13+
rm -rf /var/lib/apt/lists/*
14+
15+
WORKDIR /app
16+
17+
# Clone application
518
ENV CGIMAP_GITSHA=8ea707e10aeab5698e6859856111816d75354592
6-
ENV cgimap=/tmp/openstreetmap-cgimap
19+
RUN git clone https://github.com/zerebubuth/openstreetmap-cgimap.git /app \
20+
&& git checkout $CGIMAP_GITSHA
721

8-
RUN apt-get update && apt-get install -y --no-install-recommends \
9-
build-essential cmake git curl file \
10-
libxml2-dev libpqxx-dev libfcgi-dev zlib1g-dev libbrotli-dev \
11-
libboost-program-options-dev libfmt-dev libmemcached-dev libcrypto++-dev \
12-
libargon2-dev libyajl-dev \
13-
&& rm -rf /var/lib/apt/lists/*
22+
# Compile, install and remove source
23+
RUN mkdir build && cd build && \
24+
CXXFLAGS="-flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release && \
25+
make -j${nproc} && \
26+
ctest --output-on-failure && \
27+
cmake --build . -t package
1428

15-
RUN git clone https://github.com/zerebubuth/openstreetmap-cgimap.git $cgimap \
16-
&& cd $cgimap \
17-
&& git checkout $CGIMAP_GITSHA \
18-
&& mkdir build && cd build && cmake .. && cmake --build .
29+
FROM debian:bookworm-slim
1930

31+
COPY --from=builder /app/build/*.deb /app_deb/
2032

21-
FROM ruby:3.3.0-slim
33+
RUN apt-get update -qq && \
34+
apt install --no-install-recommends -y /app_deb/*.deb postgresql-client procps && \
35+
apt-get clean && \
36+
rm -rf /var/lib/apt/lists/*
2237

23-
ENV DEBIAN_FRONTEND=noninteractive
38+
RUN groupadd -g 61000 cgimap && \
39+
useradd -g 61000 -l -M -s /bin/false -u 61000 cgimap
40+
41+
EXPOSE 8000
2442

25-
RUN apt-get update && \
26-
apt-get install -y --no-install-recommends curl gnupg && \
27-
echo "deb http://apt.postgresql.org/pub/repos/apt/ bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
28-
curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
29-
apt-get update && \
30-
apt-get install -y --no-install-recommends \
31-
libxml2 libpqxx-6.4 libfcgi zlib1g libbrotli1 \
32-
libboost-program-options1.74.0 libfmt-dev libmemcached11 libcrypto++8 \
33-
libargon2-1 libyajl2 libapache2-mod-fcgid postgresql-client \
34-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
35-
36-
COPY --from=builder /tmp/openstreetmap-cgimap/build/openstreetmap-cgimap /usr/local/bin/openstreetmap-cgimap
37-
38-
COPY *.sh /
39-
RUN chmod +x /*.sh && echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig
43+
COPY ./*.sh .
4044

4145
CMD ["/start.sh"]

0 commit comments

Comments
 (0)