docker – Rev 63
?pathlinks?
FROM debian:bookworm-slim
# Install cron and required utilities.
RUN apt-get update
RUN apt-get -y install \
bc \
build-essential \
cron \
cron-daemon-common \
curl \
ffmpeg \
gawk \
git \
gnupg \
grep \
joe \
jq \
less \
openssl \
pipx \
procps \
python3 \
python3-pip \
rclone \
rsyslog \
sed \
sqlite3 \
subversion \
wget \
unzip
# Install node-js
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \
apt-get install -y nodejs && \
node --version && npm --version
# Build cronicle-edge
WORKDIR /tmp
RUN git clone https://github.com/cronicle-edge/cronicle-edge && \
cd cronicle-edge && \
./bundle /opt/cronicle --sqlite --tools && \
rm -rf /tmp/chronicle-edge
# non root user for shell plugin
ARG CRONICLE_UID=1000
ARG CRONICLE_GID=1000
RUN addgroup cronicle --gid $CRONICLE_GID && \
adduser --disabled-password --disabled-login --home /opt/cronicle --uid $CRONICLE_UID --gid $CRONICLE_GID cronicle
# this is dockeeerrrr!!
RUN usermod -o -g 1000 -u 1000 cronicle
###########################################################################
# BEGIN TOOLS #
###########################################################################
RUN mkdir -p /tmp/kitchen
WORKDIR /tmp/kitchen
# install whisper-ctranslate2
#RUN pip install --break-system-packages -U whisper-ctranslate2
# Install selenium for web automation.
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \
apt-get update && apt-get -y install google-chrome-stable
RUN CHROMEDRIVER_FORCE_DOWNLOAD=true npm install -g selenium-side-runner chromedriver
# Install phantomJS
RUN npm install -g phantomjs-bin
#RUN curl -L -s https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -o /tmp/kitchen/phantomjs-2.1.1-linux-x86_64.tar.bz2 && \
# tar -jxpvf phantomjs-2.1.1-linux-x86_64.tar.bz2 && \
# mkdir -p /usr/local/bin && \
# cp phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/ && \
# rm -rf /tmp/kitchen/phantomjs*
# Install xidel
RUN curl -L -s https://sourceforge.net/projects/videlibri/files/Xidel/Xidel%200.9.8/xidel_0.9.8-1_amd64.deb/download -o /tmp/kitchen/xidel.deb && \
apt-get install -f -y /tmp/kitchen/xidel.deb && \
rm /tmp/kitchen/xidel.deb
# Install YouTube downloader.
#RUN mkdir -p /opt/pipx && \
# export PIPX_HOME=/opt/pipx && \
# export PIPX_BIN_DIR=/usr/local/bin && \
# pipx install yt-dlp
RUN curl -L -s https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && \
chmod +x /usr/local/bin/yt-dlp
# HDHomeRun
RUN git clone https://github.com/Silicondust/libhdhomerun.git /tmp/kitchen/libhdhomerun && \
cd /tmp/kitchen/libhdhomerun && \
make && \
cp hdhomerun_config /usr/local/bin/ && \
cp libhdhomerun.so /usr/local/lib/
# rclone
RUN curl -L -s https://downloads.rclone.org/v1.69.1/rclone-v1.69.1-linux-amd64.zip -o /tmp/kitchen/rclone-v1.69.1-linux-amd64.zip && \
unzip rclone-v1.69.1-linux-amd64.zip && \
cp rclone-v1.69.1-linux-amd64/rclone /usr/local/bin && \
chmod +x /usr/local/bin/rclone
# remove kitchen
RUN rm -rf /tmp/kitchen
WORKDIR /
###########################################################################
# END TOOLS #
###########################################################################
WORKDIR /opt/cronicle
ENV PATH "/opt/cronicle/bin:${PATH}"
ENV CRONICLE_foreground=1
ENV CRONICLE_echo=1
ENV TZ=Etc/UTC
# add filesystem requirements
ADD rootfs /
# set the default entry point
RUN chmod +x /usr/local/bin/run
ENTRYPOINT [ "/usr/local/bin/run" ]