Files
inn2/Dockerfile
T

61 lines
1.8 KiB
Docker
Raw Permalink Normal View History

2026-07-24 20:15:08 +05:00
FROM code.pztrn.name/containers/mirror/alpine:3.24.1 AS build
ENV PERL_MM_USE_DEFAULT=1
RUN apk add --no-cache \
bison \
build-base \
bzip2 \
2026-07-24 20:15:08 +05:00
curl \
flex \
2026-07-24 20:15:08 +05:00
gawk \
gd-dev \
gnupg \
libgd \
krb5-dev \
openssl \
openssl-dev \
perl \
perl-dev \
perl-utils \
python3 \
python3-dev \
s6-overlay \
s6-overlay-syslogd \
2026-07-24 20:15:08 +05:00
shadow \
sqlite-dev \
ssmtp \
2026-07-24 20:15:08 +05:00
tar \
zlib-dev && \
cpan -T GD MIME::Parser && \
rm -rf /root/.cpan
# Build everything in one command and cleanup sources so container will eat less space.
RUN mkdir /src && cd /src && \
# libcanlock
curl -sL https://micha.freeshell.org/libcanlock/src/libcanlock-3.3.3.tar.bz2 | tar xj && cd libcanlock-3.3.3 && ./configure && make && make install && \
# inn2
cd /src && curl -sL https://github.com/InterNetNews/inn/releases/download/2.7.4/inn-2.7.4.tar.gz | tar xz && cd inn-2.7.4 && \
./configure --prefix=/inn2 --with-zlib --with-openssl --with-sqlite --with-krb5 --with-perl --with-python --with-canlock && \
2026-07-24 20:15:08 +05:00
make && \
sed -i 's/#domain:/domain: news.localhost/' site/inn.conf && \
make install && \
sed -i 's/#\(tlscapath:\)/\1/' /inn2/etc/inn.conf && \
2026-07-24 20:15:08 +05:00
sed -i 's/#\(tlscertfile:\)/\1/' /inn2/etc/inn.conf && \
sed -i 's/#\(tlskeyfile:\)/\1/' /inn2/etc/inn.conf && \
mv /inn2/etc /inn2/etc-default && \
mv /inn2/db /inn2/db-default && \
mv /inn2/spool /inn2/spool-default && \
rm -rf /src
2026-07-24 20:15:08 +05:00
COPY etc /etc
2026-07-24 20:15:08 +05:00
RUN groupmod -g 600 news && usermod -u 600 -g 600 -d /inn2 news && chown -R news:news /inn2 && chown -R news:news /etc/cont-init.d /etc/services.d
2026-07-24 20:15:08 +05:00
WORKDIR /inn2
ENV PATH=/inn2/bin:$PATH
EXPOSE 119
EXPOSE 563
VOLUME [ "/inn2/db", "/inn2/spool", "/inn2/log" ]
ENTRYPOINT [ "/init" ]