5 Commits
Author SHA1 Message Date
pztrn f1a7e365bc GPG fixes, crontab fixes, additional packages and permissions script for container startup.
ci/woodpecker/tag/build Pipeline was successful
2026-08-11 09:34:34 +05:00
pztrn 14d19a949f nocem keyring fix.
ci/woodpecker/tag/build Pipeline was successful
2026-08-09 06:45:51 +05:00
pztrn e500bff0f1 Add diffutils for actsync.
ci/woodpecker/tag/build Pipeline was successful
2026-08-09 06:06:57 +05:00
pztrn 6ba17b951e cleanfeed installation, stale pids script fix, start-innd script removal.
ci/woodpecker/tag/build Pipeline was successful
2026-07-29 11:34:53 +05:00
pztrn e97be45bcc Enable nocem. 2026-07-29 10:52:04 +05:00
10 changed files with 129 additions and 21 deletions
+47
View File
@@ -4,6 +4,49 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) but do not follows semantic versioning as it is useless in this type of project. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) but do not follows semantic versioning as it is useless in this type of project.
## [2.7.4-7] - 2026-08-10
### Added
* GPG configuration for news user to skip keyboxd.
* Permission set script for /inn2.
* busybox-suid and nano packages installing.
### Changed
* norotate added to news.daily for proper statistics generation.
## [2.7.4-6] - 2026-08-09
### Added
* gpg configuration to skip keyboxd, so importing nocem gpg keys will work.
### Changed
* nocem keyring will be removed and re-imported every container launch.
## [2.7.4-5] - 2026-08-02
### Added
* diffutils package installation for actsync to work.
## [2.7.4-4] - 2026-07-29
### Added
* nocem processing enablement with data from https://rosalind.home.xs4all.nl/nocemreg/nocemreg.html.
* cleanfeed installation
### Changed
* stale pids removal script now always exits 0 if removal failed.
### Removed
* start-innd script which was used previously for starting innd.
## [2.7.4-3] - 2026-07-29 ## [2.7.4-3] - 2026-07-29
### Added ### Added
@@ -33,6 +76,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
Initial container release with inn 2.7.4 built with perl/python/sqlite support. Initial container release with inn 2.7.4 built with perl/python/sqlite support.
[2.7.4-7]: https://code.pztrn.name/containers/inn2/compare/2.7.4-6...2.7.4-7
[2.7.4-6]: https://code.pztrn.name/containers/inn2/compare/2.7.4-5...2.7.4-6
[2.7.4-5]: https://code.pztrn.name/containers/inn2/compare/2.7.4-4...2.7.4-5
[2.7.4-4]: https://code.pztrn.name/containers/inn2/compare/2.7.4-3...2.7.4-4
[2.7.4-3]: https://code.pztrn.name/containers/inn2/compare/2.7.4-2...2.7.4-3 [2.7.4-3]: https://code.pztrn.name/containers/inn2/compare/2.7.4-2...2.7.4-3
[2.7.4-2]: https://code.pztrn.name/containers/inn2/compare/2.7.4-1...2.7.4-2 [2.7.4-2]: https://code.pztrn.name/containers/inn2/compare/2.7.4-1...2.7.4-2
[2.7.4-1]: https://code.pztrn.name/containers/inn2/compare/2.7.4...2.7.4-1 [2.7.4-1]: https://code.pztrn.name/containers/inn2/compare/2.7.4...2.7.4-1
+14 -1
View File
@@ -4,14 +4,17 @@ ENV PERL_MM_USE_DEFAULT=1
RUN apk add --no-cache \ RUN apk add --no-cache \
bison \ bison \
build-base \ build-base \
busybox-suid \
bzip2 \ bzip2 \
curl \ curl \
diffutils \
flex \ flex \
gawk \ gawk \
gd-dev \ gd-dev \
gnupg \ gnupg \
libgd \ libgd \
krb5-dev \ krb5-dev \
nano \
openssl \ openssl \
openssl-dev \ openssl-dev \
perl \ perl \
@@ -45,6 +48,15 @@ RUN mkdir /src && cd /src && \
mv /inn2/etc /inn2/etc-default && \ mv /inn2/etc /inn2/etc-default && \
mv /inn2/db /inn2/db-default && \ mv /inn2/db /inn2/db-default && \
mv /inn2/spool /inn2/spool-default && \ mv /inn2/spool /inn2/spool-default && \
# cleanfeed
cd /src && curl -sL https://github.com/infybofh/cleanfeed-ng/archive/refs/tags/2026-07-03-rc1.tar.gz | tar xz && cd cleanfeed-ng-2026-07-03-rc1 && \
cp cleanfeed /inn2/bin/filter/filter_innd.pl && \
mkdir /inn2/etc-default/cleanfeed && \
cp cleanfeed.local.example /inn2/etc-default/cleanfeed/cleanfeed.local && \
cp samples/* /inn2/etc-default/cleanfeed && \
mkdir -p /inn2/spool-default/cleanfeed && \
mkdir -p /var/www/ && \
chown -R news:news /var/www && \
rm -rf /src rm -rf /src
COPY etc /etc COPY etc /etc
@@ -53,8 +65,9 @@ RUN groupmod -g 600 news && usermod -u 600 -g 600 -d /inn2 news && chown -R news
WORKDIR /inn2 WORKDIR /inn2
ENV PATH=/inn2/bin:$PATH ENV PATH=/inn2/bin:$PATH
ENV CLEANFEED_CONFIG_DIR=/inn2/etc/cleanfeed
EXPOSE 119 EXPOSE 119
EXPOSE 563 EXPOSE 563
VOLUME [ "/inn2/db", "/inn2/spool", "/inn2/log" ] VOLUME [ "/inn2/db", "/inn2/spool", "/inn2/log", "/var/www" ]
ENTRYPOINT [ "/init" ] ENTRYPOINT [ "/init" ]
+13 -1
View File
@@ -2,7 +2,7 @@
This repository holds files neccessary to build inn2 (InterNet News 2), a NNTP server. This repository holds files neccessary to build inn2 (InterNet News 2), a NNTP server.
This container is based on [greenbender's image](https://github.com/greenbender/inn-docker). This container is based on [greenbender's image](https://github.com/greenbender/inn-docker) and includes enabled nocems processing and cleanfeed.
## Usage ## Usage
@@ -27,6 +27,7 @@ services:
- "./data/spool:/inn2/spool" - "./data/spool:/inn2/spool"
- "./data/tmp:/inn2/tmp" - "./data/tmp:/inn2/tmp"
- "./data/syslog:/var/log" - "./data/syslog:/var/log"
- "./data/www:/var/www"
ulimits: ulimits:
nofile: nofile:
soft: 65535 soft: 65535
@@ -49,6 +50,7 @@ services:
- "./data/spool:/inn2/spool" - "./data/spool:/inn2/spool"
- "./data/tmp:/inn2/tmp" - "./data/tmp:/inn2/tmp"
- "./data/syslog:/var/log" - "./data/syslog:/var/log"
- "./data/www:/var/www"
networks: networks:
inn2-ipvlan: inn2-ipvlan:
ipv4_address: 192.168.168.168 # ip address from real LAN. ipv4_address: 192.168.168.168 # ip address from real LAN.
@@ -95,6 +97,16 @@ If you want to use cron outside of your container:
As this container has no postfix installed (why do you might ever need it here?) you can use [ssmtp](https://wiki.debian.org/sSMTP) which installed in container to get mails sent over SMTP. As this container has no postfix installed (why do you might ever need it here?) you can use [ssmtp](https://wiki.debian.org/sSMTP) which installed in container to get mails sent over SMTP.
## No See 'Em's
This container has nocem enabled and neccessary data will be loaded on first start from [NoCeM registry](https://rosalind.home.xs4all.nl/nocemreg/nocemreg.html).
Make sure you have `news.lists.filters` group created.
## Cleanfeed
Cleanfeed is automatically installed from [infybofh's repository](https://github.com/infybofh/cleanfeed-ng). Configuration is located in `/inn2/etc/cleanfeed` directory within container, please configure it according to your needs.
## Versioning ## Versioning
Image versioning follows official inn2 versions with additional optional version postfix added to indicate image fixes for particular version. Image versioning follows official inn2 versions with additional optional version postfix added to indicate image fixes for particular version.
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
chown -R news:news /inn2
+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh
if [ -f "/etc/gpg/gpg.conf" ]; then
exit 0
fi
rm -rf /etc/gpg || exit 0
mkdir -p /etc/gpg
echo "#use-keyboxd" > /etc/gpg/gpg.conf
rm -rf /inn2/.gnupg
mkdir -p /inn2/.gnupg
echo "#use-keyboxd" > /inn2/.gnupg/common.conf
chown -R news:news /inn2/.gnupg
chmod 0700 /inn2/.gnupg
chmod 0600 /inn2/.gnupg/common.conf
rm -rf /root/.gnupg
mkdir -p /root/.gnupg
echo "#use-keyboxd" > /root/.gnupg/common.conf
chmod 0700 /root/.gnupg
chmod 0600 /root/.gnupg/common.conf
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
if [ ! -d "/inn2/etc/pgp" ]; then
mkdir -p "/inn2/etc/pgp"
fi
echo "* Downloading NoCeM gpg keys and ctl file..."
rm /inn2/etc/pgp/ncmring.gpg
curl -o /inn2/etc/pgp/ncmring.gpg.source https://rosalind.home.xs4all.nl/nocemreg/ncmring.asc
gpg --no-default-keyring --keyring /inn2/etc/pgp/ncmring.gpg --import /inn2/etc/pgp/ncmring.gpg.source
chown -R news:news /inn2/etc/nocem.ctl /inn2/etc/pgp
echo "* Enabling NoCeM processing..."
sed -i '/^#nocem/ { s/^#//; n; s/^#//; }' /inn2/etc/newsfeeds
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
if [ ! -d "/inn2/etc/cleanfeed" ]; then
cp -r "/inn2/etc-default/cleanfeed" "/inn2/etc"
chown -R news:news "/inn2/etc/cleanfeed"
fi
if [ ! -d "/inn2/spool/cleanfeed" ]; then
mkdir -p "/inn2/spool/cleanfeed"
chown -R news:news "/inn2/spool/cleanfeed"
fi
chown -R news:news /var/www
Regular → Executable
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
rm "/inn2/run/*.pid" rm "/inn2/run/*.pid" || exit 0
+1 -1
View File
@@ -1,5 +1,5 @@
# min hour day month weekday command # min hour day month weekday command
0 5 * * * cd /inn2; /inn2/bin/news.daily expireover lowmark delayrm 0 5 * * * cd /inn2; /inn2/bin/news.daily expireover lowmark delayrm norotate
15 * * * * cd /inn2; /inn2/bin/rnews -U 15 * * * * cd /inn2; /inn2/bin/rnews -U
0 4 * * * cd /inn2; /inn2/bin/ctlinnd -t 120 -s reload incoming.conf 'flush cache' 0 4 * * * cd /inn2; /inn2/bin/ctlinnd -t 120 -s reload incoming.conf 'flush cache'
*/10 * * * * cd /inn2; /inn2/bin/nntpsend */10 * * * * cd /inn2; /inn2/bin/nntpsend
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
if [ ! -f "/inn2/etc/inn.conf" ]; then
cp -r /inn2/etc-default/* /inn2/etc
fi
if [ ! -f "/inn2/db/history" ]; then
cp -r /inn2/db-default/* /inn2/db
fi
if [ ! -d "/inn2/spool/articles" ]; then
cp -r /inn2/spool-default/* /inn2/spool
fi
cd /inn2 || exit 1
/inn2/bin/innd -f