docker – Blame information for rev 60
?pathlinks?
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 |