Skip to content

Commit

Permalink
update,
Browse files Browse the repository at this point in the history
  • Loading branch information
louiscklaw committed Aug 10, 2024
1 parent 5a4c4fd commit 9b684e0
Show file tree
Hide file tree
Showing 244 changed files with 953 additions and 179 deletions.
78 changes: 3 additions & 75 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,78 +1,6 @@
# pip dependencies install stage

# @NOTE! I would love to move to 3.11 but it breaks the async handler in changedetectionio/content_fetchers/puppeteer.py
# If you know how to fix it, please do! and test it for both 3.10 and 3.11

ARG PYTHON_VERSION=3.11

FROM python:${PYTHON_VERSION}-slim-bookworm AS builder

# See `cryptography` pin comment in requirements.txt
ARG CRYPTOGRAPHY_DONT_BUILD_RUST=1

RUN apt-get update && apt-get install -y --no-install-recommends \
g++ \
gcc \
libc-dev \
libffi-dev \
libjpeg-dev \
libssl-dev \
libxslt-dev \
make \
zlib1g-dev

RUN mkdir /install
WORKDIR /install

COPY requirements.txt /requirements.txt

# --extra-index-url https://www.piwheels.org/simple is for cryptography module to be prebuilt (or rustc etc needs to be installed)
RUN pip install --extra-index-url https://www.piwheels.org/simple --target=/dependencies -r /requirements.txt

# Playwright is an alternative to Selenium
# Excluded this package from requirements.txt to prevent arm/v6 and arm/v7 builds from failing
# https://github.com/dgtlmoon/changedetection.io/pull/1067 also musl/alpine (not supported)
RUN pip install --target=/dependencies playwright~=1.41.2 \
|| echo "WARN: Failed to install Playwright. The application can still run, but the Playwright option will be disabled."

# Final image stage
FROM python:${PYTHON_VERSION}-slim-bookworm
FROM ghcr.io/dgtlmoon/changedetection.io

RUN apt-get update && apt-get install -y --no-install-recommends \
libxslt1.1 \
# For presenting price amounts correctly in the restock/price detection overview
locales \
# For pdftohtml
poppler-utils \
zlib1g \
&& apt-get clean && rm -rf /var/lib/apt/lists/*


# https://stackoverflow.com/questions/58701233/docker-logs-erroneously-appears-empty-until-container-stops
ENV PYTHONUNBUFFERED=1

RUN [ ! -d "/datastore" ] && mkdir /datastore

# Re #80, sets SECLEVEL=1 in openssl.conf to allow monitoring sites with weak/old cipher suites
RUN sed -i 's/^CipherString = .*/CipherString = DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf

# Copy modules over to the final image and add their dir to PYTHONPATH
COPY --from=builder /dependencies /usr/local
ENV PYTHONPATH=/usr/local

EXPOSE 5000

# The actual flask app module
COPY changedetectionio /app/changedetectionio
# Starting wrapper
COPY changedetection.py /app/changedetection.py

# Github Action test purpose(test-only.yml).
# On production, it is effectively LOGGER_LEVEL=''.
ARG LOGGER_LEVEL=''
ENV LOGGER_LEVEL "$LOGGER_LEVEL"

WORKDIR /app
CMD ["python", "./changedetection.py", "-d", "/datastore"]

nodejs npm

RUN npm i -g nodemon
78 changes: 78 additions & 0 deletions Dockerfile copy
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# pip dependencies install stage

# @NOTE! I would love to move to 3.11 but it breaks the async handler in changedetectionio/content_fetchers/puppeteer.py
# If you know how to fix it, please do! and test it for both 3.10 and 3.11

ARG PYTHON_VERSION=3.11

FROM python:${PYTHON_VERSION}-slim-bookworm AS builder

# See `cryptography` pin comment in requirements.txt
ARG CRYPTOGRAPHY_DONT_BUILD_RUST=1

RUN apt-get update && apt-get install -y --no-install-recommends \
g++ \
gcc \
libc-dev \
libffi-dev \
libjpeg-dev \
libssl-dev \
libxslt-dev \
make \
zlib1g-dev

RUN mkdir /install
WORKDIR /install

COPY requirements.txt /requirements.txt

# --extra-index-url https://www.piwheels.org/simple is for cryptography module to be prebuilt (or rustc etc needs to be installed)
RUN pip install --extra-index-url https://www.piwheels.org/simple --target=/dependencies -r /requirements.txt

# Playwright is an alternative to Selenium
# Excluded this package from requirements.txt to prevent arm/v6 and arm/v7 builds from failing
# https://github.com/dgtlmoon/changedetection.io/pull/1067 also musl/alpine (not supported)
RUN pip install --target=/dependencies playwright~=1.41.2 \
|| echo "WARN: Failed to install Playwright. The application can still run, but the Playwright option will be disabled."

# Final image stage
FROM python:${PYTHON_VERSION}-slim-bookworm

RUN apt-get update && apt-get install -y --no-install-recommends \
libxslt1.1 \
# For presenting price amounts correctly in the restock/price detection overview
locales \
# For pdftohtml
poppler-utils \
zlib1g \
&& apt-get clean && rm -rf /var/lib/apt/lists/*


# https://stackoverflow.com/questions/58701233/docker-logs-erroneously-appears-empty-until-container-stops
ENV PYTHONUNBUFFERED=1

RUN [ ! -d "/datastore" ] && mkdir /datastore

# Re #80, sets SECLEVEL=1 in openssl.conf to allow monitoring sites with weak/old cipher suites
RUN sed -i 's/^CipherString = .*/CipherString = DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf

# Copy modules over to the final image and add their dir to PYTHONPATH
COPY --from=builder /dependencies /usr/local
ENV PYTHONPATH=/usr/local

EXPOSE 5000

# The actual flask app module
COPY changedetectionio /app/changedetectionio
# Starting wrapper
COPY changedetection.py /app/changedetection.py

# Github Action test purpose(test-only.yml).
# On production, it is effectively LOGGER_LEVEL=''.
ARG LOGGER_LEVEL=''
ENV LOGGER_LEVEL "$LOGGER_LEVEL"

WORKDIR /app
CMD ["python", "./changedetection.py", "-d", "/datastore"]


1 change: 1 addition & 0 deletions _notes/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
9 changes: 9 additions & 0 deletions _notes/Schedule copy 2.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
uuid,paused,title,remarks,url,body,fetch_backend,method,link_to_site,tags
,FALSE,missav/actresses/????,missav/actresses/????,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm42/actresses/%E5%90%89%E9%AB%98%E5%AF%A7%E5%AF%A7,missav
,TRUE,youtube video @hkhoy,youtube video list for hoytv,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,youtube video @RTHK,youtube video list for RTHK,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@RTHK/videos,"tags1,tags2"
,TRUE,youtube video @EggEggClubNewsChannel,youtube video list for EggEggClub,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@EggEggClubNewsChannel/videos,"tags1,tags2"
,TRUE,youtube video @ChannelCHK,youtube video list for ChannelC,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,carousell_q coding,using google to search carousell with keyword coding,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/coding,carousell_q
,TRUE,carousell_q javascript,using google to search carousell with keyword javascript,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/javascript,carousell_q
,TRUE,carousell_q python,using google to search carousell with keyword python,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/python,carousell_q
9 changes: 9 additions & 0 deletions _notes/Schedule copy.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
uuid,paused,title,remarks,url,body,fetch_backend,method,link_to_site,tags
,FALSE,missav/actresses/????,missav/actresses/????,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm42/actresses/%E5%90%89%E9%AB%98%E5%AF%A7%E5%AF%A7,missav
,TRUE,youtube video @hkhoy,youtube video list for hoytv,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,youtube video @RTHK,youtube video list for RTHK,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@RTHK/videos,"tags1,tags2"
,TRUE,youtube video @EggEggClubNewsChannel,youtube video list for EggEggClub,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@EggEggClubNewsChannel/videos,"tags1,tags2"
,TRUE,youtube video @ChannelCHK,youtube video list for ChannelC,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,carousell_q coding,using google to search carousell with keyword coding,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/coding,carousell_q
,TRUE,carousell_q javascript,using google to search carousell with keyword javascript,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/javascript,carousell_q
,TRUE,carousell_q python,using google to search carousell with keyword python,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/python,carousell_q
Binary file added _notes/Schedule copy.xlsx
Binary file not shown.
24 changes: 24 additions & 0 deletions _notes/Schedule.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
uuid,paused,title,remarks,url,body,fetch_backend,method,link_to_site,tags
,TRUE,jobsdb/search/testing-engineer-jobs,jobsdb/search/testing-engineer-jobs,http://192.168.10.21:13010/jobsdb_search_jobs,,system,POST,https://hk.jobsdb.com/testing-engineer-jobs,jobsdb_search
,TRUE,jobsdb/search/software-engineer-jobs,jobsdb/search/software-engineer-jobs,http://192.168.10.21:13010/jobsdb_search_jobs,,system,POST,https://hk.jobsdb.com/software-engineer-jobs,jobsdb_search
,TRUE,jobsdb/search/validation-engineer-jobs,jobsdb/search/validation-engineer-jobs,http://192.168.10.21:13010/jobsdb_search_jobs,,system,POST,https://hk.jobsdb.com/validation-engineer-jobs,jobsdb_search
,TRUE,jable_tv/model/河北彩花,jable_tv/model/河北彩花,http://192.168.10.21:13010/jable_model,,system,POST,https://jable.tv/models/saika-kawakita/,jabletv_model
,TRUE,missav/actresses/吉高寧寧,missav/actresses/吉高寧寧,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm42/actresses/吉高寧寧,missav
,TRUE,missav/actresses/禦園もも,missav/actresses/禦園もも,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/禦園もも,missav
,TRUE,missav/actresses/白坂みあん,missav/actresses/白坂みあん,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/白坂みあん,missav
,TRUE,missav/actresses/明里紬,missav/actresses/明里紬,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/明里紬,missav
,TRUE,missav/actresses/櫻空桃,missav/actresses/櫻空桃,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/櫻空桃,missav
,TRUE,missav/actresses/禦園もも,missav/actresses/禦園もも,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/禦園もも,missav
,TRUE,missav/actresses/禦園もも,missav/actresses/禦園もも,http://192.168.10.21:13010/missav_actress,,system,POST,https://missav.com/dm1/actresses/禦園もも,missav
,TRUE,youtube video @hkhoy,youtube video list for hoytv,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,youtube video @RTHK,youtube video list for RTHK,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@RTHK/videos,"tags1,tags2"
,TRUE,youtube video @EggEggClubNewsChannel,youtube video list for EggEggClub,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@EggEggClubNewsChannel/videos,"tags1,tags2"
,TRUE,youtube video @ChannelCHK,youtube video list for ChannelC,http://192.168.10.21:13010/youtube_videos,,system,POST,https://www.youtube.com/@hkhoy/videos,"tags1,tags2"
,TRUE,carousell_q cs,using google to search carousell with keyword cs,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/cs,carousell_q
,TRUE,carousell_q excel,using google to search carousell with keyword excel,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/excel,carousell_q
,TRUE,carousell_q it,using google to search carousell with keyword it,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/it,carousell_q
,TRUE,carousell_q javascript,using google to search carousell with keyword javascript,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/javascript,carousell_q
,TRUE,carousell_q programming,using google to search carousell with keyword programming,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/programming,carousell_q
,TRUE,carousell_q python,using google to search carousell with keyword python,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/python,carousell_q
,TRUE,carousell_q react,using google to search carousell with keyword react,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/react,carousell_q
,TRUE,carousell_q vba,using google to search carousell with keyword vba,http://192.168.10.21:13010/carousell_q,,system,POST,https://carousell.com.hk/q/vba,carousell_q
Loading

0 comments on commit 9b684e0

Please sign in to comment.