databasus for backup, fix mam login issues
This commit is contained in:
@@ -3,10 +3,11 @@
|
|||||||
|
|
||||||
# Here I will include all "child" docker compose files that I need.
|
# Here I will include all "child" docker compose files that I need.
|
||||||
# The paths can relative to this file or absolue. I've used INCLUDE_PATH variable to make it more cofigurable.
|
# The paths can relative to this file or absolue. I've used INCLUDE_PATH variable to make it more cofigurable.
|
||||||
# Whenever I need to remove some service then I can comment out the lines here.
|
# Whenever I need to remove some service then I can comment out the lines here.
|
||||||
include:
|
include:
|
||||||
- path:
|
- path:
|
||||||
- ${DB_PATH}/adminer/adminer.yml
|
- ${DB_PATH}/adminer/adminer.yml
|
||||||
|
- ${DB_PATH}/databasus/databasus.yml
|
||||||
- ${DB_PATH}/lldap/lldap.yml
|
- ${DB_PATH}/lldap/lldap.yml
|
||||||
- ${DB_PATH}/mariadb/mariadb.yml
|
- ${DB_PATH}/mariadb/mariadb.yml
|
||||||
- ${DB_PATH}/postgres/postgres.yml
|
- ${DB_PATH}/postgres/postgres.yml
|
||||||
@@ -77,7 +78,7 @@ networks:
|
|||||||
enable_ipv6: true
|
enable_ipv6: true
|
||||||
ipam:
|
ipam:
|
||||||
driver: default
|
driver: default
|
||||||
# config:
|
# config:
|
||||||
# # - subnet: "2a04:ee41:86:9397::/64"
|
# # - subnet: "2a04:ee41:86:9397::/64"
|
||||||
# - subnet: "2001:db8:2:/64"
|
# - subnet: "2001:db8:2:/64"
|
||||||
# - gateway: "2001:db8:2::1"
|
# - gateway: "2001:db8:2::1"
|
||||||
|
|||||||
19
project/db/databasus/databasus.yml
Normal file
19
project/db/databasus/databasus.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
services:
|
||||||
|
databasus:
|
||||||
|
extends:
|
||||||
|
file: ${TEMPLATES_PATH}
|
||||||
|
service: default
|
||||||
|
image: databasus/databasus:v2.21.5
|
||||||
|
container_name: databasus
|
||||||
|
ports:
|
||||||
|
- 8086:4005
|
||||||
|
networks:
|
||||||
|
- ip4net
|
||||||
|
volumes:
|
||||||
|
- ${DB_PATH}/databasus/data:/databasus-data
|
||||||
|
labels:
|
||||||
|
# Traefik
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.databasus.rule=Host(`databasus.${LOCAL_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.databasus.entrypoints=https"
|
||||||
|
- "traefik.http.routers.databasus.tls=true"
|
||||||
@@ -9,7 +9,11 @@ COPY --from=alpine:3.23 /usr/lib/libapk.so* /usr/lib/
|
|||||||
USER root
|
USER root
|
||||||
|
|
||||||
# Install Chromium and necessary dependencies for Puppeteer
|
# Install Chromium and necessary dependencies for Puppeteer
|
||||||
RUN apk add --no-cache \
|
RUN set -x \
|
||||||
|
&& apk update \
|
||||||
|
&& apk upgrade \
|
||||||
|
&& apk add --no-cache \
|
||||||
|
udev \
|
||||||
chromium \
|
chromium \
|
||||||
nss \
|
nss \
|
||||||
freetype \
|
freetype \
|
||||||
@@ -23,6 +27,10 @@ RUN apk add --no-cache \
|
|||||||
# Set environment variable for Puppeteer to find Chromium
|
# Set environment variable for Puppeteer to find Chromium
|
||||||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
||||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||||
|
ENV XDG_CONFIG_HOME=/tmp/.chromium
|
||||||
|
ENV XDG_CACHE_HOME=/tmp/.chromium
|
||||||
|
|
||||||
|
# Install Puppeteer
|
||||||
RUN npm install puppeteer
|
RUN npm install puppeteer
|
||||||
|
|
||||||
# Install restic and rclone for backups
|
# Install restic and rclone for backups
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ services:
|
|||||||
- ${SERVICE_PATH}/n8n/data:/home/node/.n8n
|
- ${SERVICE_PATH}/n8n/data:/home/node/.n8n
|
||||||
- ${SERVICE_PATH}/n8n/data/rclone.conf:/home/node/.config/rclone/rclone.conf
|
- ${SERVICE_PATH}/n8n/data/rclone.conf:/home/node/.config/rclone/rclone.conf
|
||||||
- ${PWD}/scripts:/home/node/.n8n/external-scripts
|
- ${PWD}/scripts:/home/node/.n8n/external-scripts
|
||||||
- ${DB_PATH}/postgres/data/backup:/home/node/.n8n/database
|
- ${DB_PATH}/databasus/data/backup:/home/node/.n8n/database
|
||||||
- ${EXTERNAL_STORAGE}/:/home/node/.n8n/data
|
- ${EXTERNAL_STORAGE}/:/home/node/.n8n/data
|
||||||
labels:
|
labels:
|
||||||
# Traefik
|
# Traefik
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ const puppeteer = require('puppeteer');
|
|||||||
async function loginToMAM(username, password) {
|
async function loginToMAM(username, password) {
|
||||||
try {
|
try {
|
||||||
const browser = await puppeteer.launch({
|
const browser = await puppeteer.launch({
|
||||||
|
executablePath: '/usr/bin/chromium-browser',
|
||||||
headless: true,
|
headless: true,
|
||||||
args: ['--no-sandbox', '--disable-setuid-sandbox']
|
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu', 'diable-dev-shm-usage']
|
||||||
});
|
});
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
|
|
||||||
console.log("Navigating to MAM login...");
|
console.log("Navigating to MAM login...");
|
||||||
await page.goto('https://www.myanonamouse.net/login.php', {
|
await page.goto('https://www.myanonamouse.net/login.php', {
|
||||||
waitUntil: 'networkidle2',
|
waitUntil: 'networkidle2',
|
||||||
@@ -19,18 +20,18 @@ async function loginToMAM(username, password) {
|
|||||||
console.log("Filling in login form...");
|
console.log("Filling in login form...");
|
||||||
await page.type('input[name="email"]', username);
|
await page.type('input[name="email"]', username);
|
||||||
await page.type('input[name="password"]', password);
|
await page.type('input[name="password"]', password);
|
||||||
|
|
||||||
console.log("Submitting login form...");
|
console.log("Submitting login form...");
|
||||||
await page.click('input[type="submit"]');
|
await page.click('input[type="submit"]');
|
||||||
await page.waitForNavigation({
|
await page.waitForNavigation({
|
||||||
waitUntil: 'domcontentloaded',
|
waitUntil: 'domcontentloaded',
|
||||||
timeout: 10000
|
timeout: 10000
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("Login attempt completed.");
|
console.log("Login attempt completed.");
|
||||||
const cookies = await page.cookies();
|
const cookies = await page.cookies();
|
||||||
await browser.close();
|
await browser.close();
|
||||||
|
|
||||||
console.log(JSON.stringify(cookies));
|
console.log(JSON.stringify(cookies));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Login failed: ", err);
|
console.error("Login failed: ", err);
|
||||||
@@ -42,5 +43,5 @@ const username = process.env.MAM_USERNAME;
|
|||||||
const password = process.env.MAM_PASSWORD;
|
const password = process.env.MAM_PASSWORD;
|
||||||
|
|
||||||
loginToMAM(username, password)
|
loginToMAM(username, password)
|
||||||
.then(cookies => ({ result: 'Success', cookies }))
|
.then(cookies => ({ result: 'Success', cookies }))
|
||||||
.catch(err => ({ result: 'Error', error: err.message }));
|
.catch(err => ({ result: 'Error', error: err.message }));
|
||||||
|
|||||||
Reference in New Issue
Block a user