-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.gnuuaio
84 lines (74 loc) · 3.53 KB
/
Dockerfile.gnuuaio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
FROM ubuntu:20.04
#
##
# Run News, Mail, UUCP, ans shell access all in one
#
ENV DEBIAN_FRONTEND=noninteractive
ENV TERM=linux
# inn requires a config file with domain name instead FWDN in container (which is often not set)
COPY aio/inn.conf /etc/news/inn.conf
# entrypoint with program starts
COPY aio/entrypoint.sh /entrypoint.sh
# Upgrade system & install packages
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew vim-tiny bash curl wget git inn2 rsyslog rmail bsd-mailx xinetd cu gettext-base bind9-host cron shellinabox alpine telnet cron
RUN apt-get install -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew postfix
# Add kubectl
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin/
# Part Cron
# cron send-uucp, batcher, uucico every 5 min
COPY aio/gnuu.cron /etc/cron.d/gnuu.cron
RUN crontab /etc/cron.d/gnuu.cron
# Part Syslog
# deactivate kernel log in container for rsyslog
RUN sed -i '/imklog/s/^module/# /' /etc/rsyslog.conf
# Part NEWS
# create pid file dir
RUN mkdir -p /run/news
RUN chown news:news /run/news
RUN chmod 775 /run/news
# change news shell
RUN chsh news -s /bin/bash
RUN mkdir -p /var/www/inn && chown news:news /var/www/inn
# Part UUCP
# install szip batcher
COPY aio/sunbatch /usr/lib/news/bin/rnews.libexec/sunbatch
# install bsmtp package for uucp mail delivery
#RUN wget https://download.opensuse.org/repositories/home:/eumel_8/Debian_7.0/amd64/bsmtp_1.02_amd64.deb
RUN wget --content-disposition "https://packagecloud.io/eumel8/gnuu/packages/ubuntu/focal/bsmtp_1.02_amd64.deb/download.deb?distro_version_id=210"
RUN dpkg -i bsmtp_1.02_amd64.deb
RUN chmod +s /usr/sbin/bsmtp
# install uucp package with lcyrpt
#RUN wget https://www.gnuu.de/repo/uucp_1.07-27build1_amd64.deb
RUN wget --content-disposition "https://packagecloud.io/eumel8/gnuu/packages/ubuntu/focal/uucp_1.07-27build1_amd64.deb/download.deb?distro_version_id=210"
RUN dpkg -i uucp_1.07-27build1_amd64.deb
# install szip program
RUN wget https://www.gnuu.de/repo/szip
RUN chmod +x szip && mv szip /usr/local/bin/szip
# fix broken links from bsmtp package
RUN rm /usr/bin/rgsmtp && ln -s /usr/bin/rcsmtp /usr/bin/rgsmtp
RUN rm /usr/bin/cbsmtp && ln -s /usr/bin/rcsmtp /usr/bin/cbsmtp
RUN rm /usr/bin/crsmtp && ln -s /usr/bin/rcsmtp /usr/bin/crsmtp
RUN rm /usr/bin/bsmtp && ln -s /usr/bin/rsmtp /usr/bin/bsmtp
# copy custom config files
COPY uucp/transmitter.b-rbsmtp /usr/sbin/transmitter.b-rbsmtp
COPY uucp/transmitter.b-rcsmtp /usr/sbin/transmitter.b-rcsmtp
COPY uucp/transmitter.g-rcsmtp /usr/sbin/transmitter.g-rcsmtp
COPY uucp/transmitter.s-rcsmtp /usr/sbin/transmitter.s-rcsmtp
COPY uucp/transmitter.s-rssmtp /usr/sbin/transmitter.s-rssmtp
COPY uucp/transmitter.c-cbsmtp /usr/sbin/transmitter.c-cbsmtp
COPY uucp/transmitter.c-rcsmtp /usr/sbin/transmitter.c-rcsmtp
COPY uucp/transmitter.n-rsmtp /usr/sbin/transmitter.n-rsmtp
COPY uucp/rsmtp /usr/sbin/rsmtp
RUN chsh uucp -s /bin/bash
# install the default user and prepare home dir
RUN groupadd -g 1000 linux
RUN useradd -u 1000 -g 1000 -m -s /bin/bash linux;echo linux:linux | chpasswd -c SHA512
USER 1000
WORKDIR /home/linux
RUN alpine -conf > .pinerc
RUN sed -i 's/^smtp-server=/smtp-server=127.0.0.1/' /home/linux/.pinerc
RUN sed -i 's/^nntp-server=/nntp-server=127.0.0.1/' /home/linux/.pinerc
USER 0
# expose shellinabox, all other services are internally
EXPOSE 4200