Skip to content

Commit 680f5e3

Browse files
feat(video):Track Changes Online with ChangeDetection, a Self-Hosted Docker Container
1 parent 8d80fb3 commit 680f5e3

File tree

4 files changed

+148
-4
lines changed

4 files changed

+148
-4
lines changed

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
addressable (2.8.6)
5-
public_suffix (>= 2.0.2, < 6.0)
4+
addressable (2.8.7)
5+
public_suffix (>= 2.0.2, < 7.0)
66
bigdecimal (3.1.8)
77
colorator (1.1.0)
88
concurrent-ruby (1.3.3)
@@ -87,7 +87,7 @@ GEM
8787
parallel (1.25.1)
8888
pathutil (0.16.2)
8989
forwardable-extended (~> 2.6)
90-
public_suffix (5.1.1)
90+
public_suffix (6.0.0)
9191
racc (1.8.0)
9292
rainbow (3.1.1)
9393
rake (13.2.1)

_posts/2024-04-30-traefik-3-docker-certificates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ In today's Traefik tutorial we'll get FREE Wildcard certificates to use in our H
1616

1717
- Save 20% on UptimeRobot <https://l.technotim.live/uptime-robot-technotim>!
1818

19-
Disclosures:
19+
## Disclosures
2020

2121
- Video was sponsored by UptimeRobot
2222

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
layout: post
3+
title: "Track Changes Online with ChangeDetection, a Self-Hosted Docker Container!"
4+
date: 2024-06-21 08:00:00 -0500
5+
categories: homelab hardware
6+
tags: changedetection docker software
7+
image:
8+
path: /assets/img/headers/change-detection-docker-hero.webp
9+
lqip: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAUACgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APyN/Zv+NPwivbX4W/Bvxb8C5vFGr/EHVYfh1rHxCuPE/wAPRrNkPHOt2WnXuvaI+rfA3XvEenX1lp+ryW9lajxjNaWzwQSWS2ShojrToLGKpVTjhqkKnt5zw9OEHWnTv7N1U04zcXaSbTblFN31v41F024xdNXvq9N3Ja/C3daddWrs/pR0f4M+GNE0jS9F0uG0tNM0jTrHS9OtY9PRY7awsLaK0tLdAlwihIbeKONQqqoCgBQMATClyxjF1sRJxiouUqzvJpJcz03e78z0lypJcuytuz//2Q==
10+
---
11+
12+
13+
Tracking things on the web just got a whole lot easier with ChangeDetection, the free and open source Docker container! Track website changes, price changes of products, and even track out of stock products with notifications all from a container you host yourself!
14+
15+
{% include embed/youtube.html id='o_iG4Wunh98' %}
16+
📺 [Watch Video](https://www.youtube.com/watch?v=o_iG4Wunh98)
17+
18+
## Disclosures
19+
20+
- Thanks to Docker for Sponsoring this Video!
21+
- Get Actionable insights for software supply chain management with Docker Scout! <https://www.docker.com/products/docker-scout/>
22+
23+
## Info
24+
25+
⭐ ChangeDetection on GitHub: <https://github.com/dgtlmoon/changedetection.io>
26+
27+
## Docker Setup
28+
29+
See [this post](/posts/docker-compose-install/) on how to install `docker` and `docker compose`
30+
31+
Create folder for your compose and mounts
32+
33+
```bash
34+
mkdir changedetection
35+
cd changedetection
36+
```
37+
38+
Then we'll create a folder to hold our data and our datastore
39+
40+
```bash
41+
mkdir data
42+
cd data
43+
mkdir datastore
44+
cd datastore
45+
cd ../.. # go back to the root of changedetection/
46+
```
47+
48+
Create docker compose file and add contents
49+
50+
```bash
51+
touch compose.yaml
52+
nano compose.yaml
53+
```
54+
55+
Your folder structure should look like this
56+
57+
```bash
58+
./changedetection
59+
├── data
60+
│ └── datastore
61+
└── docker-compose.yml
62+
```
63+
64+
Simple version of `change detection`
65+
66+
```yaml
67+
---
68+
services:
69+
changedetection:
70+
image: ghcr.io/dgtlmoon/changedetection.io:latest
71+
container_name: changedetection
72+
hostname: changedetection
73+
volumes:
74+
- ./data/datastore:/datastore
75+
ports:
76+
- 5000:5000
77+
```
78+
79+
Advanced version of `change detection`
80+
81+
If you want to use Selenium + Webdriver, uncomment the `WEBDRIVER_URL` variable and the `browser-chrome` service, and then comment out `PLAYWRIGHT_DRIVER_URL` variable and `playwright-chrome` service.
82+
83+
```yaml
84+
---
85+
services:
86+
changedetection:
87+
image: ghcr.io/dgtlmoon/changedetection.io:latest
88+
container_name: changedetection
89+
hostname: changedetection
90+
volumes:
91+
- ./data/datastore:/datastore
92+
ports:
93+
- 5000:5000
94+
environment:
95+
# - WEBDRIVER_URL=http://playwright-chrome:4444/wd/hub
96+
- PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
97+
depends_on:
98+
playwright-chrome:
99+
condition: service_started
100+
restart: unless-stopped
101+
102+
# browser-chrome:
103+
# hostname: browser-chrome
104+
# image: selenium/standalone-chrome:125.0
105+
# shm_size: '2gb'
106+
# # volumes:
107+
# # # Workaround to avoid the browser crashing inside a docker container
108+
# # # See https://github.com/SeleniumHQ/docker-selenium#quick-start
109+
# # - /dev/shm:/dev/shm
110+
# restart: unless-stopped
111+
112+
playwright-chrome:
113+
hostname: playwright-chrome
114+
image: browserless/chrome
115+
restart: unless-stopped
116+
environment:
117+
- SCREEN_WIDTH=1920
118+
- SCREEN_HEIGHT=1024
119+
- SCREEN_DEPTH=16
120+
- ENABLE_DEBUGGER=false
121+
- PREBOOT_CHROME=true
122+
- CONNECTION_TIMEOUT=300000
123+
- MAX_CONCURRENT_SESSIONS=10
124+
- CHROME_REFRESH_TIME=600000
125+
- DEFAULT_BLOCK_ADS=true
126+
- DEFAULT_STEALTH=true
127+
# Ignore HTTPS errors, like for self-signed certs
128+
- DEFAULT_IGNORE_HTTPS_ERRORS=true
129+
130+
```
131+
132+
## Join the conversation
133+
134+
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p lang="en" dir="ltr">This week I spun up ChangeDetection, a free and open source (and self-hosted) container to help you track things on the web! <br>Check it out!<a href="https://t.co/Kmi5i94GcJ">https://t.co/Kmi5i94GcJ</a> <a href="https://t.co/s1uteYMHtH">pic.twitter.com/s1uteYMHtH</a></p>&mdash; Techno Tim (@TechnoTimLive) <a href="https://twitter.com/TechnoTimLive/status/1804175575117865385?ref_src=twsrc%5Etfw">June 21, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
135+
136+
## Links
137+
138+
🛍️ Check out the new Merch Shop at <https://l.technotim.live/shop>
139+
140+
⚙️ See all the hardware I recommend at <https://l.technotim.live/gear>
141+
142+
🚀 Don't forget to check out the [🚀Launchpad repo](https://l.technotim.live/quick-start) with all of the quick start source files
143+
144+
🤝 Support me and [help keep this site ad-free!](/sponsor)
Binary file not shown.

0 commit comments

Comments
 (0)