59 lines
1.4 KiB
Docker
59 lines
1.4 KiB
Docker
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 \
|
|
curl \
|
|
gawk \
|
|
gd-dev \
|
|
gnupg \
|
|
libgd \
|
|
krb5-dev \
|
|
openssl \
|
|
openssl-dev \
|
|
perl \
|
|
perl-dev \
|
|
perl-utils \
|
|
python3 \
|
|
python3-dev \
|
|
s6 \
|
|
shadow \
|
|
sqlite-dev \
|
|
tar \
|
|
zlib-dev && \
|
|
cpan -T GD MIME::Parser && \
|
|
rm -rf /root/.cpan
|
|
|
|
|
|
ARG VERSION=2.7.4
|
|
RUN curl -sL https://github.com/InterNetNews/inn/releases/download/${VERSION}/inn-${VERSION}.tar.gz | tar xz
|
|
|
|
WORKDIR /inn-${VERSION}
|
|
RUN ./configure --prefix=/inn2 --with-zlib --with-openssl --with-sqlite --with-krb5 --with-perl --with-python && \
|
|
make && \
|
|
sed -i 's/#domain:/domain: news.localhost/' site/inn.conf && \
|
|
make install
|
|
|
|
RUN sed -i 's/#\(tlscapath:\)/\1/' /inn2/etc/inn.conf && \
|
|
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
|
|
|
|
COPY configuration /etc
|
|
COPY start-innd.sh /start-innd
|
|
|
|
RUN groupmod -g 600 news && usermod -u 600 -g 600 -d /inn2 news && chown -R news:news /inn2 && chown -R news:news /etc/s6
|
|
|
|
WORKDIR /inn2
|
|
ENV PATH=/inn2/bin:$PATH
|
|
ENV PERL_MM_USE_DEFAULT=1
|
|
USER news
|
|
EXPOSE 119
|
|
EXPOSE 563
|
|
VOLUME [ "/inn2/db", "/inn2/spool", "/inn2/log" ]
|
|
|
|
CMD ["/usr/bin/s6-svscan", "/etc/s6"]
|