|
|
@ -13,37 +13,145 @@ setting_up_container |
|
|
|
network_check |
|
|
|
network_check |
|
|
|
update_os |
|
|
|
update_os |
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing Dependencies" |
|
|
|
msg_info "Installing Dependencies (Patience)" |
|
|
|
$STD apt-get install -y curl |
|
|
|
$STD apt-get install -y \ |
|
|
|
$STD apt-get install -y sudo |
|
|
|
curl \ |
|
|
|
$STD apt-get install -y mc |
|
|
|
sudo \ |
|
|
|
$STD apt-get install -y pip |
|
|
|
mc \ |
|
|
|
|
|
|
|
git \ |
|
|
|
|
|
|
|
build-essential \ |
|
|
|
|
|
|
|
dumb-init \ |
|
|
|
|
|
|
|
gconf-service \ |
|
|
|
|
|
|
|
ffmpeg \ #can find no need |
|
|
|
|
|
|
|
libappindicator1 \ #can find no need |
|
|
|
|
|
|
|
libappindicator3-1 \ #can find no need |
|
|
|
|
|
|
|
libasound2 \ #can find no need |
|
|
|
|
|
|
|
libatk-bridge2.0-0 \ |
|
|
|
|
|
|
|
libatk1.0-0 \ |
|
|
|
|
|
|
|
libcairo2 \ |
|
|
|
|
|
|
|
libcups2 \ |
|
|
|
|
|
|
|
libdbus-1-3 \ |
|
|
|
|
|
|
|
libexpat1 \ |
|
|
|
|
|
|
|
libgbm-dev \ |
|
|
|
|
|
|
|
libgbm1 \ |
|
|
|
|
|
|
|
libgconf-2-4 \ |
|
|
|
|
|
|
|
libgdk-pixbuf2.0-0 \ |
|
|
|
|
|
|
|
libglib2.0-0 \ |
|
|
|
|
|
|
|
libgtk-3-0 \ |
|
|
|
|
|
|
|
libnspr4 \ |
|
|
|
|
|
|
|
libnss3 \ |
|
|
|
|
|
|
|
libpango-1.0-0 \ |
|
|
|
|
|
|
|
libpangocairo-1.0-0 \ |
|
|
|
|
|
|
|
qpdf \ |
|
|
|
|
|
|
|
xdg-utils \ |
|
|
|
|
|
|
|
xvfb |
|
|
|
msg_ok "Installed Dependencies" |
|
|
|
msg_ok "Installed Dependencies" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing Python3" |
|
|
|
|
|
|
|
$STD apt-get install -y \ |
|
|
|
|
|
|
|
python3-dev \ |
|
|
|
|
|
|
|
python3-pip |
|
|
|
|
|
|
|
msg_ok "Installed Python3" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Setting up Node.js Repository" |
|
|
|
|
|
|
|
$STD bash <(curl -fsSL https://deb.nodesource.com/setup_18.x) |
|
|
|
|
|
|
|
msg_ok "Set up Node.js Repository" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing Node.js" |
|
|
|
|
|
|
|
$STD apt-get install -y nodejs |
|
|
|
|
|
|
|
msg_ok "Installed Node.js" |
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing Change Detection" |
|
|
|
msg_info "Installing Change Detection" |
|
|
|
mkdir /opt/changedetection |
|
|
|
mkdir /opt/changedetection |
|
|
|
$STD pip3 install changedetection.io |
|
|
|
$STD pip3 install changedetection.io |
|
|
|
$STD python3 -m pip install dnspython==2.2.1 |
|
|
|
$STD python3 -m pip install dnspython==2.2.1 |
|
|
|
msg_ok "Installed Change Detection" |
|
|
|
msg_ok "Installed Change Detection" |
|
|
|
|
|
|
|
|
|
|
|
msg_info "Creating Service" |
|
|
|
msg_info "Installing Browserless & Playwright" |
|
|
|
|
|
|
|
mkdir /opt/browserless |
|
|
|
|
|
|
|
$STD python3 -m pip install playwright |
|
|
|
|
|
|
|
$STD git clone https://github.com/browserless/chrome /opt/browserless |
|
|
|
|
|
|
|
$STD npm install --prefix /opt/browserless |
|
|
|
|
|
|
|
$STD npm run build --prefix /opt/browserless |
|
|
|
|
|
|
|
$STD npm prune production --prefix /opt/browserless |
|
|
|
|
|
|
|
msg_ok "Installed Browserless & Playwright" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing Font Packages" |
|
|
|
|
|
|
|
$STD apt-get install -y \ |
|
|
|
|
|
|
|
fontconfig \ |
|
|
|
|
|
|
|
libfontconfig1 \ |
|
|
|
|
|
|
|
fonts-freefont-ttf \ |
|
|
|
|
|
|
|
fonts-gfs-neohellenic \ |
|
|
|
|
|
|
|
fonts-indic fonts-ipafont-gothic \ |
|
|
|
|
|
|
|
fonts-kacst fonts-liberation \ |
|
|
|
|
|
|
|
fonts-noto-cjk \ |
|
|
|
|
|
|
|
fonts-noto-color-emoji \ |
|
|
|
|
|
|
|
msttcorefonts \ |
|
|
|
|
|
|
|
fonts-roboto \ |
|
|
|
|
|
|
|
fonts-thai-tlwg \ |
|
|
|
|
|
|
|
fonts-wqy-zenhei |
|
|
|
|
|
|
|
msg_ok "Installed Font Packages" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Installing X11 Packages" |
|
|
|
|
|
|
|
$STD apt-get install -y \ |
|
|
|
|
|
|
|
libx11-6 \ |
|
|
|
|
|
|
|
libx11-xcb1 \ |
|
|
|
|
|
|
|
libxcb1 \ |
|
|
|
|
|
|
|
libxcomposite1 \ |
|
|
|
|
|
|
|
libxcursor1 \ |
|
|
|
|
|
|
|
libxdamage1 \ |
|
|
|
|
|
|
|
libxext6 \ |
|
|
|
|
|
|
|
libxfixes3 \ |
|
|
|
|
|
|
|
libxi6 \ |
|
|
|
|
|
|
|
libxrandr2 \ |
|
|
|
|
|
|
|
libxrender1 \ |
|
|
|
|
|
|
|
libxss1 \ |
|
|
|
|
|
|
|
libxtst6 |
|
|
|
|
|
|
|
msg_ok "Installed X11 Packages" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg_info "Creating Services" |
|
|
|
cat <<EOF >/etc/systemd/system/changedetection.service |
|
|
|
cat <<EOF >/etc/systemd/system/changedetection.service |
|
|
|
[Unit] |
|
|
|
[Unit] |
|
|
|
Description=Change Detection |
|
|
|
Description=Change Detection |
|
|
|
After=network-online.target |
|
|
|
After=network-online.target |
|
|
|
|
|
|
|
After=network.target browserless.service |
|
|
|
|
|
|
|
Wants=browserless.service |
|
|
|
[Service] |
|
|
|
[Service] |
|
|
|
Type=simple |
|
|
|
Type=simple |
|
|
|
WorkingDirectory=/opt/changedetection |
|
|
|
WorkingDirectory=/opt/changedetection |
|
|
|
Environment="WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub" |
|
|
|
Environment="WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub" |
|
|
|
|
|
|
|
Environment="PLAYWRIGHT_DRIVER_URL=ws://127.0.0.1:3000/?stealth=1&--disable-web-security=true" |
|
|
|
ExecStart=changedetection.io -d /opt/changedetection -p 5000 |
|
|
|
ExecStart=changedetection.io -d /opt/changedetection -p 5000 |
|
|
|
[Install] |
|
|
|
[Install] |
|
|
|
WantedBy=multi-user.target |
|
|
|
WantedBy=multi-user.target |
|
|
|
EOF |
|
|
|
EOF |
|
|
|
$STD systemctl enable --now changedetection |
|
|
|
|
|
|
|
msg_ok "Created Service" |
|
|
|
cat <<EOF >/etc/systemd/system/browserless.service |
|
|
|
|
|
|
|
[Unit] |
|
|
|
|
|
|
|
Description=browserless service |
|
|
|
|
|
|
|
After=network.target |
|
|
|
|
|
|
|
[Service] |
|
|
|
|
|
|
|
Environment=APP_DIR=/opt/browserless |
|
|
|
|
|
|
|
Environment=PLAYWRIGHT_BROWSERS_PATH=/opt/browserless |
|
|
|
|
|
|
|
Environment=CONNECTION_TIMEOUT=60000 |
|
|
|
|
|
|
|
Environment=HOST=127.0.0.1 |
|
|
|
|
|
|
|
Environment=LANG="C.UTF-8" |
|
|
|
|
|
|
|
Environment=NODE_ENV=production |
|
|
|
|
|
|
|
Environment=PORT=3000 |
|
|
|
|
|
|
|
Environment=WORKSPACE_DIR=/opt/browserless/workspace |
|
|
|
|
|
|
|
WorkingDirectory=/opt/browserless |
|
|
|
|
|
|
|
ExecStart=/opt/browserless/start.sh |
|
|
|
|
|
|
|
SyslogIdentifier=browserless |
|
|
|
|
|
|
|
[Install] |
|
|
|
|
|
|
|
WantedBy=default.target |
|
|
|
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
systemctl enable -q --now browserless |
|
|
|
|
|
|
|
systemctl enable -q --now changedetection |
|
|
|
|
|
|
|
msg_ok "Created Services" |
|
|
|
|
|
|
|
|
|
|
|
motd_ssh |
|
|
|
motd_ssh |
|
|
|
customize |
|
|
|
root |
|
|
|
|
|
|
|
|
|
|
|
msg_info "Cleaning up" |
|
|
|
msg_info "Cleaning up" |
|
|
|
$STD apt-get autoremove |
|
|
|
$STD apt-get autoremove |
|
|
|