prole/prole-db/Dockerfile
2025-07-12 18:05:04 -07:00

43 lines
1.7 KiB
Docker

FROM arm64v8/ubuntu:24.10
RUN apt-get update && apt-get install -y gcc cpp gdb gettext curl autoconf automake
RUN apt-get install -y python3 libpython3-dev perl libperl-dev tcl tcl-dev libtcl8.6
RUN apt-get install -y postgresql-all
RUN apt-get install -y postgis \
postgresql-postgis \
postgresql-postgis-scripts
RUN apt-get install -y pkg-config bison flex libicu-dev icu-devtools \
readline-common libreadline-dev libreadline-java rlwrap
RUN apt-get install -y libpam-ssh libpam-modules libpam-modules-bin python3-pam python3-pampy
RUN apt-get install -y llvm-19 llvm-dev lld libclang-dev clang clang-19 clang-tools
ENV PGDATA=/var/lib/postgresql/data
RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data
# postges build
# ./configure --with-ssl=openssl --with-perl --with-python --with-tcl --with-llvm
RUN mkdir -p /usr/local/src
COPY postgresql-17.5.tar.gz /usr/local/src/postgresql-17.5.tar.gz
RUN tar -xzf /usr/local/src/postgresql-17.5.tar.gz -C /usr/local/src
WORKDIR /usr/local/src/postgresql-17.5
RUN ./configure --with-ssl=openssl --with-perl --with-python --with-tcl --with-llvm
RUN make -j $(nproc)
RUN make install
RUN chown -R postgres:postgres /usr/local/pgsql
RUN chown -R postgres:postgres /var/lib/postgresql/data
ENV PATH $PATH:/usr/local/pgsql/bin
# gosu - postgres
RUN apt-get install -y gosu
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/
RUN ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh
ENTRYPOINT ["docker-entrypoint.sh"]
STOPSIGNAL SIGINT
EXPOSE 5432
CMD ["postgres"]