mirror of
https://github.com/perstarkse/minne.git
synced 2026-04-25 18:28:44 +02:00
feat: docker & docker-compose example
This commit is contained in:
@@ -22,8 +22,10 @@ chrono = { version = "0.4.39", features = ["serde"] }
|
||||
text-splitter = "0.18.1"
|
||||
url = { version = "2.5.2", features = ["serde"] }
|
||||
uuid = { version = "1.10.0", features = ["v4", "serde"] }
|
||||
|
||||
headless_chrome = { git = "https://github.com/rust-headless-chrome/rust-headless-chrome", features = ["fetch"] }
|
||||
headless_chrome = "1.0.17"
|
||||
|
||||
common = { path = "../common" }
|
||||
composite-retrieval = { path = "../composite-retrieval" }
|
||||
|
||||
[features]
|
||||
docker = []
|
||||
|
||||
@@ -16,7 +16,8 @@ use common::{
|
||||
},
|
||||
};
|
||||
use dom_smoothie::{Article, Readability, TextMode};
|
||||
use headless_chrome::Browser;
|
||||
use headless_chrome::{Browser, LaunchOptionsBuilder};
|
||||
use std::io::{Seek, SeekFrom};
|
||||
use tempfile::NamedTempFile;
|
||||
use tracing::{error, info};
|
||||
|
||||
@@ -76,7 +77,6 @@ pub async fn to_text_content(
|
||||
}
|
||||
}
|
||||
}
|
||||
use std::io::{Seek, SeekFrom}; // <-- Add Seek and SeekFrom
|
||||
|
||||
/// Fetches web content from a URL, extracts the main article text as Markdown,
|
||||
/// captures a screenshot, and stores the screenshot returning [`FileInfo`].
|
||||
@@ -106,7 +106,22 @@ async fn fetch_article_from_url(
|
||||
// Instantiate timer
|
||||
let now = Instant::now();
|
||||
// Setup browser, navigate and wait
|
||||
let browser = Browser::default()?;
|
||||
let browser = {
|
||||
#[cfg(feature = "docker")]
|
||||
{
|
||||
// Use this when compiling for docker
|
||||
let options = LaunchOptionsBuilder::default()
|
||||
.sandbox(false)
|
||||
.build()
|
||||
.map_err(|e| AppError::InternalError(e.to_string()))?;
|
||||
Browser::new(options)?
|
||||
}
|
||||
#[cfg(not(feature = "docker"))]
|
||||
{
|
||||
// Use this otherwise
|
||||
Browser::default()?
|
||||
}
|
||||
};
|
||||
let tab = browser.new_tab()?;
|
||||
let page = tab.navigate_to(url)?;
|
||||
let loaded_page = page.wait_until_navigated()?;
|
||||
|
||||
Reference in New Issue
Block a user