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 \ curl \ flex \ gawk \ gd-dev \ gnupg \ libgd \ krb5-dev \ openssl \ openssl-dev \ perl \ perl-dev \ perl-utils \ python3 \ python3-dev \ s6 \ shadow \ sqlite-dev \ ssmtp \ 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 && \ make && \ sed -i 's/#domain:/domain: news.localhost/' site/inn.conf && \ make install && \ 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 && \ rm -rf /src 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 USER news EXPOSE 119 EXPOSE 563 VOLUME [ "/inn2/db", "/inn2/spool", "/inn2/log" ] CMD ["/usr/bin/s6-svscan", "/etc/s6"]