Compare commits
38 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5aba66d0e
|
|||
0d8e4da042
|
|||
a56a2f7f82
|
|||
735b4837c8
|
|||
ab26744d72
|
|||
5ccbf2f957
|
|||
49ef423f68
|
|||
76d6ccaa05
|
|||
ff7637fd67
|
|||
fd1ae396c4
|
|||
79c8ee239f
|
|||
500ce25efb
|
|||
da13d73835
|
|||
67c68f8823
|
|||
0e226ca68e
|
|||
320bbd688f
|
|||
1a54e15b20
|
|||
345af8501b
|
|||
def9e78509
|
|||
ed7898a5ab
|
|||
65e8e2a2fd
|
|||
876a7659d9
|
|||
333be19c74
|
|||
d1f8662071 | |||
a0d1deabb3 | |||
cf0a5d0606 | |||
e968813cd1 | |||
e3ccbb9ac9 | |||
23bc1cdf10 | |||
5a8f07fb3f | |||
0827f551aa | |||
482e550f4f | |||
d6de046cee | |||
ad2defeef3 | |||
9743f8713d | |||
b3476ba473 | |||
5c457a2ff6 | |||
0ff9956c0b |
12
Dockerfile
12
Dockerfile
@@ -1,19 +1,20 @@
|
||||
FROM ich777/novnc-baseimage
|
||||
FROM ich777/novnc-baseimage:bullseye
|
||||
|
||||
LABEL maintainer="admin@minenet.at"
|
||||
|
||||
RUN export TZ=Europe/Rome && \
|
||||
echo "deb http://ftp.de.debian.org/debian/ testing main contrib non-free" >> /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
|
||||
echo $TZ > /etc/timezone && \
|
||||
apt-get -y install --no-install-recommends fonts-takao libqtcore4 libqtgui4 libc6 libgcc1 libstdc++6 libqt4-network cron ssh ssh-askpass sendemail && \
|
||||
apt-get -y -t testing install rsync && \
|
||||
apt-get -y install --no-install-recommends fonts-takao libqt5core5a qtscript5-dev libc6 libgcc1 libstdc++6 libqt5network5 rsync cron ssh ssh-askpass sendemail jq && \
|
||||
echo "ko_KR.UTF-8 UTF-8" >> /etc/locale.gen && \
|
||||
echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen && \
|
||||
locale-gen && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
sed -i '/ document.title =/c\ document.title = "luckyBackup - noVNC";' /usr/share/novnc/app/ui.js && \
|
||||
wget -q -O /tmp/luckybackup.tar.gz https://github.com/ich777/luckyBackup/releases/download/0.5.0/luckyBackup-v0.5.0.tar.gz && \
|
||||
tar -C / -xf /tmp/luckybackup.tar.gz && \
|
||||
rm -rf /tmp/luckybackup.tar.gz && \
|
||||
rm /usr/share/novnc/app/images/icons/*
|
||||
|
||||
RUN mkdir -p /run/sshd && \
|
||||
@@ -28,6 +29,7 @@ ENV DATA_DIR=/luckybackup
|
||||
ENV CUSTOM_RES_W=1024
|
||||
ENV CUSTOM_RES_H=768
|
||||
ENV CUSTOM_DEPTH=16
|
||||
ENV CRON_WATCHDOG=60
|
||||
ENV NOVNC_PORT=8080
|
||||
ENV RFB_PORT=5900
|
||||
ENV TURBOVNC_PARAMS="-securitytypes none"
|
||||
@@ -41,12 +43,12 @@ RUN mkdir $DATA_DIR && \
|
||||
useradd -d $DATA_DIR -s /bin/bash $USER && \
|
||||
chown -R $USER $DATA_DIR && \
|
||||
mkdir /etc/.fluxbox && \
|
||||
rm -R /var/spool/cron/crontabs/ && \
|
||||
ulimit -n 2048
|
||||
|
||||
ADD /scripts/ /opt/scripts/
|
||||
#COPY /icons/* /usr/share/novnc/app/images/icons/
|
||||
COPY /conf/ /etc/.fluxbox/
|
||||
COPY /cron /tmp/
|
||||
RUN chmod -R 770 /opt/scripts/ && \
|
||||
chown -R root:$GID /usr/share && \
|
||||
chmod -R 775 /usr/share && \
|
||||
|
@@ -1,7 +0,0 @@
|
||||
until cron -- p ; do
|
||||
echo "cron crashed with exit code $?. Respawning.." >&2
|
||||
if [ -f /var/run/crond.pid ]; then
|
||||
rm -rf /var/run/crond.pid
|
||||
fi
|
||||
sleep 1
|
||||
done
|
@@ -1,50 +1,7 @@
|
||||
#!/bin/bash
|
||||
export DISPLAY=:0
|
||||
export XAUTHORITY=${DATA_DIR}/.Xauthority
|
||||
|
||||
Xvfb :0 -screen scrn 800x600x16 2>/dev/null &
|
||||
|
||||
LAT_V="$(wget -qO- https://github.com/ich777/versions/raw/master/luckyBackup | grep FORK | cut -d '=' -f2)"
|
||||
CUR_V="$(${DATA_DIR}/luckybackup --version 2> /dev/null | grep "version:" | cut -d ':' -f2 | xargs)"
|
||||
if [ -z $LAT_V ]; then
|
||||
if [ -z $CUR_V ]; then
|
||||
echo "---Can't get latest version of luckyBackup, putting container into sleep mode!---"
|
||||
sleep infinity
|
||||
else
|
||||
echo "---Can't get latest version of luckyBackup, falling back to v$CUR_V---"
|
||||
LAT_V="${CUR_V}"
|
||||
fi
|
||||
fi
|
||||
|
||||
kill -SIGTERM $(pidof Xvfb)
|
||||
|
||||
echo "---Version Check---"
|
||||
if [ -z "$CUR_V" ]; then
|
||||
echo "---luckyBackup not found, downloading and installing v$LAT_V...---"
|
||||
cd ${DATA_DIR}
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz "https://github.com/ich777/luckyBackup/releases/download/$LAT_V/luckyBackup-v${LAT_V}.tar.gz" ; then
|
||||
echo "---Successfully downloaded luckyBackup v$LAT_V---"
|
||||
else
|
||||
echo "---Something went wrong, can't download luckyBackup v$LAT_V, putting container into sleep mode!---"
|
||||
sleep infinity
|
||||
fi
|
||||
tar -C / --overwrite -xf ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz 2> /dev/null
|
||||
rm ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz
|
||||
elif [ "$CUR_V" != "$LAT_V" ]; then
|
||||
echo "---Version missmatch, installed v$CUR_V, downloading and installing latest v$LAT_V...---"
|
||||
cd ${DATA_DIR}
|
||||
rm -R ${DATA_DIR}/luckybackup*
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz "https://github.com/ich777/luckyBackup/releases/download/$LAT_V/luckyBackup-v${LAT_V}.tar.gz" ; then
|
||||
echo "---Successfully downloaded luckyBackup v$LAT_V---"
|
||||
else
|
||||
echo "---Something went wrong, can't download luckyBackup v$LAT_V, putting container into sleep mode!---"
|
||||
sleep infinity
|
||||
fi
|
||||
tar -C / --overwrite -xf ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz 2> /dev/null
|
||||
rm ${DATA_DIR}/luckyBackup-v$LAT_V.tar.gz
|
||||
elif [ "$CUR_V" == "$LAT_V" ]; then
|
||||
echo "---luckyBackup v$CUR_V up-to-date---"
|
||||
fi
|
||||
export XDG_RUNTIME_DIR=/tmp/runtime-luckybackup
|
||||
|
||||
echo "---Preparing Server---"
|
||||
if [ ! -d ${DATA_DIR}/.ssh ]; then
|
||||
@@ -68,8 +25,6 @@ if [ ! -f ${DATA_DIR}/.ssh/ssh_host_ed25519_key ]; then
|
||||
else
|
||||
echo "---ssh_host_ed25519_key found!---"
|
||||
fi
|
||||
sed -i "/LuckyBackupDir=/c\LuckyBackupDir=${DATA_DIR}/.luckyBackup" ${DATA_DIR}/.luckyBackup/profiles/*.profile 2>/dev/null
|
||||
sed -i "/Default_Profile=/c\Default_Profile=${DATA_DIR}/.luckyBackup/profiles/default.profile" ${DATA_DIR}/.luckyBackup/settings.ini 2>/dev/null
|
||||
echo "---Starting ssh daemon---"
|
||||
/usr/sbin/sshd
|
||||
sleep 2
|
||||
@@ -101,8 +56,16 @@ fi
|
||||
screen -wipe 2&>/dev/null
|
||||
chmod 700 ${DATA_DIR}/.ssh
|
||||
chmod 600 ${DATA_DIR}/.ssh/*
|
||||
chown ${UID}:crontab ${DATA_DIR}/.config/crontabs/*
|
||||
chmod 600 ${DATA_DIR}/.config/crontabs/*
|
||||
if [ ! -d ${DATA_DIR}/.cron ]; then
|
||||
mkdir -p ${DATA_DIR}/.cron
|
||||
fi
|
||||
if [ ! "$(crontab -l 2>/dev/null)" ]; then
|
||||
if [ ! -f ${DATA_DIR}/.luckyBackup/schedule/luckyCron.txt ]; then
|
||||
crontab /tmp/cron
|
||||
else
|
||||
crontab ${DATA_DIR}/.luckyBackup/schedule/luckyCron.txt
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "---Starting TurboVNC server---"
|
||||
vncserver -geometry ${CUSTOM_RES_W}x${CUSTOM_RES_H} -depth ${CUSTOM_DEPTH} :0 -rfbport ${RFB_PORT} -noxstartup ${TURBOVNC_PARAMS} 2>/dev/null
|
||||
@@ -119,4 +82,4 @@ sleep 2
|
||||
|
||||
echo "---Starting luckyBackup---"
|
||||
cd ${DATA_DIR}
|
||||
${DATA_DIR}/luckybackup
|
||||
/usr/bin/luckybackup
|
@@ -18,21 +18,17 @@ fi
|
||||
echo "---Checking configuration for noVNC---"
|
||||
novnccheck
|
||||
|
||||
echo "---Starting cron---"
|
||||
export PATH=/bin:/usr/bin:${DATA_DIR}
|
||||
cron -- p
|
||||
|
||||
echo "---Starting...---"
|
||||
chown -R root:${GID} /opt/scripts
|
||||
chmod -R 750 /opt/scripts
|
||||
chown -R ${UID}:${GID} /var/spool/cron
|
||||
if [ ! -d ${DATA_DIR}/.config/crontabs ]; then
|
||||
mkdir -p ${DATA_DIR}/.config/crontabs
|
||||
fi
|
||||
chown -R ${UID}:${GID} ${DATA_DIR}
|
||||
if [ -f /var/run/crond.pid ]; then
|
||||
rm -rf /var/run/crond.pid
|
||||
fi
|
||||
ln -s /luckybackup/.config/crontabs /var/spool/cron/crontabs 2>/dev/null
|
||||
ln -s /luckybackup/luckybackup /usr/bin/luckybackup 2>/dev/null
|
||||
chown -R ${UID}:${GID} ${DATA_DIR}
|
||||
echo "---Starting cron---"
|
||||
/opt/scripts/start-cron.sh &
|
||||
|
||||
term_handler() {
|
||||
kill -SIGTERM "$killpid"
|
||||
|
Reference in New Issue
Block a user