docker – Blame information for rev 60

Subversion Repositories:
Rev:
Rev Author Line No. Line
60 office 1 FROM debian:bookworm-slim
45 office 2  
3 # Install cron and required utilities.
4 RUN apt-get update
5 RUN apt-get -y install \
50 office 6 bc \
7 build-essential \
8 cron \
9 cron-daemon-common \
10 curl \
11 ffmpeg \
12 gawk \
13 git \
14 gnupg \
15 grep \
16 joe \
17 jq \
18 less \
19 openssl \
20 pipx \
21 procps \
22 python3 \
23 python3-pip \
24 rclone \
25 rsyslog \
26 sed \
27 sqlite3 \
28 subversion \
29 wget \
30 unzip
45 office 31  
32 # Install node-js
33 RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \
50 office 34 apt-get install -y nodejs && \
35 node --version && npm --version
45 office 36  
50 office 37 # Build cronicle-edge
38 WORKDIR /tmp
39 RUN git clone https://github.com/cronicle-edge/cronicle-edge && \
40 cd cronicle-edge && \
41 ./bundle /opt/cronicle --sqlite --tools && \
42 rm -rf /tmp/chronicle-edge
45 office 43  
50 office 44 # non root user for shell plugin
45 ARG CRONICLE_UID=1000
46 ARG CRONICLE_GID=1000
47 RUN addgroup cronicle --gid $CRONICLE_GID && \
48 adduser --disabled-password --disabled-login --home /opt/cronicle --uid $CRONICLE_UID --gid $CRONICLE_GID cronicle
45 office 49  
50 office 50 # this is dockeeerrrr!!
51 RUN usermod -o -g 1000 -u 1000 cronicle
52  
45 office 53 ###########################################################################
54 # BEGIN TOOLS #
55 ###########################################################################
50 office 56 RUN mkdir -p /tmp/kitchen
57 WORKDIR /tmp/kitchen
45 office 58  
59 # Install selenium for web automation.
60 RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
60 office 61 echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \
45 office 62 apt-get update && apt-get -y install google-chrome-stable
63  
64 RUN CHROMEDRIVER_FORCE_DOWNLOAD=true npm install -g selenium-side-runner chromedriver
65  
50 office 66 # Install phantomJS
67 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 && \
68 tar -jxpvf phantomjs-2.1.1-linux-x86_64.tar.bz2 && \
69 mkdir -p /usr/local/bin && \
70 cp phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/ && \
71 rm -rf /tmp/kitchen/phantomjs*
72  
45 office 73 # Install xidel
50 office 74 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 && \
75 apt-get install -f -y /tmp/kitchen/xidel.deb && \
76 rm /tmp/kitchen/xidel.deb
45 office 77  
78 # Install YouTube downloader.
79 RUN mkdir -p /opt/pipx && \
80 export PIPX_HOME=/opt/pipx && \
81 export PIPX_BIN_DIR=/usr/local/bin && \
82 pipx install yt-dlp
83  
84 # HDHomeRun
50 office 85 RUN git clone https://github.com/Silicondust/libhdhomerun.git /tmp/kitchen/libhdhomerun && \
86 cd /tmp/kitchen/libhdhomerun && \
45 office 87 make && \
88 cp hdhomerun_config /usr/local/bin/ && \
89 cp libhdhomerun.so /usr/local/lib/
90  
50 office 91 # rclone
92 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 && \
93 unzip rclone-v1.69.1-linux-amd64.zip && \
94 cp rclone-v1.69.1-linux-amd64/rclone /usr/local/bin && \
95 chmod +x /usr/local/bin/rclone
96  
97 # remove kitchen
98 RUN rm -rf /tmp/kitchen
99 WORKDIR /
100  
45 office 101 ###########################################################################
102 # END TOOLS #
103 ###########################################################################
104  
50 office 105 WORKDIR /opt/cronicle
106 ENV PATH "/opt/cronicle/bin:${PATH}"
107 ENV CRONICLE_foreground=1
108 ENV CRONICLE_echo=1
109 ENV TZ=Etc/UTC
110  
111 # add filesystem requirements
112 ADD rootfs /
113  
60 office 114 # set the default entry point
115 RUN chmod +x /usr/local/bin/run
116 ENTRYPOINT [ "/usr/local/bin/run" ]
50 office 117