Upgrade to debian-based rootfs
This commit is contained in:
parent
bfda197c4d
commit
0264a6e81f
36
Dockerfile
36
Dockerfile
|
@ -1,23 +1,41 @@
|
||||||
# Alpine base image
|
# Debian base image
|
||||||
FROM registry.sw3.cz/valicek1/lxc-alpine
|
FROM registry.sw3.cz/valicek1/lxcbian-bullseye
|
||||||
|
|
||||||
VOLUME /data
|
VOLUME /data
|
||||||
|
|
||||||
RUN apk add --no-cache git bash openssh parallel openssh-keygen vim shadow
|
# install dependencies
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get full-upgrade -y --no-install-recommends
|
||||||
|
RUN apt-get install -y --no-install-recommends \
|
||||||
|
git bash openssh-server parallel vim cron npm nodejs logrotate
|
||||||
|
RUN apt-get clean
|
||||||
|
|
||||||
|
# create executor user
|
||||||
RUN useradd --uid 10000 -ms /bin/bash executor
|
RUN useradd --uid 10000 -ms /bin/bash executor
|
||||||
ADD crontab /etc/crontabs/executor
|
|
||||||
RUN apk del shadow
|
# install crontab, enable cron
|
||||||
|
ADD crontab /etc/cron.d/repo-cloner-executor
|
||||||
|
RUN bash -c "dpkg -l | grep cron"
|
||||||
|
RUN systemctl enable ssh cron
|
||||||
ADD dockerbin/* checker/* src/* /usr/local/bin/
|
ADD dockerbin/* checker/* src/* /usr/local/bin/
|
||||||
ADD executor-conf /etc/init.d
|
|
||||||
RUN rc-update add executor-conf default
|
|
||||||
# remove tty autospawn from inittab
|
# remove tty autospawn from inittab
|
||||||
RUN sed 's/^tty.*$//g' -i /etc/inittab
|
|
||||||
# disable motd
|
# disable motd
|
||||||
RUN echo > /etc/motd
|
RUN echo > /etc/motd
|
||||||
# install tail logger
|
# install tail logger
|
||||||
RUN apk add npm
|
|
||||||
RUN npm i frontail -g
|
RUN npm i frontail -g
|
||||||
|
|
||||||
|
# enable frontail at startup
|
||||||
|
ADD startup-logcat /usr/local/bin
|
||||||
|
ADD logcat.service /etc/systemd/system
|
||||||
|
RUN systemctl enable logcat
|
||||||
|
|
||||||
|
# enable log dumping & rotation
|
||||||
|
ADD startup-logdump /usr/local/bin
|
||||||
|
ADD syslog.logrotate /etc/logrotate.d/syslog
|
||||||
|
ADD logdump.service /etc/systemd/system
|
||||||
|
RUN systemctl enable logdump
|
||||||
|
|
||||||
|
RUN ln -fs /usr/share/zoneinfo/Europe/Prague /etc/localtime
|
||||||
|
|
||||||
|
|
||||||
CMD [ "/sbin/init" ]
|
CMD [ "/sbin/init" ]
|
||||||
|
|
5
crontab
5
crontab
|
@ -1,3 +1,4 @@
|
||||||
# executor crontab
|
# executor crontab
|
||||||
* * * * * /usr/local/bin/cron-command >> /home/executor/cron.log
|
MAILTO=""
|
||||||
0 0 * * * mv /home/executor/cron.log /home/executor/cron.old
|
* * * * * executor /usr/local/bin/cron-command >> /home/executor/cron.log 2>&1
|
||||||
|
0 0 * * * executor mv /home/executor/cron.log /home/executor/cron.old
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/sbin/openrc-run
|
|
||||||
|
|
||||||
description="Sets executor initial evironment"
|
|
||||||
|
|
||||||
start() {
|
|
||||||
# make parallel citation shut up
|
|
||||||
mkdir -p ~executor/.parallel
|
|
||||||
touch ~executor/.parallel/will-cite
|
|
||||||
# repair ownership
|
|
||||||
find /data \! -user executor -exec chown executor:executor {} \;
|
|
||||||
# pidfile
|
|
||||||
touch /var/run/cloner.pid
|
|
||||||
chown executor:executor /var/run/cloner.pid
|
|
||||||
frontail /var/log/messages /home/executor/cron.log --daemonize --url-path /logs
|
|
||||||
}
|
|
||||||
|
|
13
logcat.service
Normal file
13
logcat.service
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Logcat service startup
|
||||||
|
Documentation=Fix ownership and start logcat
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
User=root
|
||||||
|
ExecStart=/usr/local/bin/startup-logcat
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
12
logdump.service
Normal file
12
logdump.service
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Dumps journalctl to syslog file
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
ExecStart=/usr/local/bin/startup-logdump
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
12
startup-logcat
Executable file
12
startup-logcat
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# make parallel citation shut up
|
||||||
|
mkdir -p ~executor/.parallel
|
||||||
|
touch ~executor/.parallel/will-cite
|
||||||
|
|
||||||
|
# repair ownership
|
||||||
|
find /data \! -user executor -exec chown executor:executor {} \;
|
||||||
|
|
||||||
|
frontail /var/log/syslog /home/executor/cron.log --daemonize --url-path /logs
|
||||||
|
|
||||||
|
|
4
startup-logdump
Executable file
4
startup-logdump
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
journalctl -f > /var/log/syslog
|
||||||
|
|
12
syslog.logrotate
Normal file
12
syslog.logrotate
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
/var/log/syslog {
|
||||||
|
daily
|
||||||
|
missingok
|
||||||
|
rotate 10
|
||||||
|
compress
|
||||||
|
delaycompress
|
||||||
|
notifempty
|
||||||
|
nocreate
|
||||||
|
copytruncate
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user