]> Untitled Git - lemmy.git/blobdiff - src/main.rs
Sanitize html (#3708)
[lemmy.git] / src / main.rs
index 68294989cc6d2b36f281159054f8f9dc9ee34437..5fc03ed025d28c567878dad7b8882497f618906a 100644 (file)
@@ -1,8 +1,41 @@
 use lemmy_server::{init_logging, start_lemmy_server};
 use lemmy_utils::{error::LemmyError, settings::SETTINGS};
 
-#[actix_web::main]
+#[tokio::main]
 pub async fn main() -> Result<(), LemmyError> {
   init_logging(&SETTINGS.opentelemetry_url)?;
-  start_lemmy_server().await
+  #[cfg(not(feature = "embed-pictrs"))]
+  start_lemmy_server().await?;
+  #[cfg(feature = "embed-pictrs")]
+  {
+    let pictrs_port = &SETTINGS
+      .pictrs_config()
+      .unwrap_or_default()
+      .url
+      .port()
+      .unwrap_or(8080);
+    let pictrs_address = ["127.0.0.1", &pictrs_port.to_string()].join(":");
+    pict_rs::ConfigSource::memory(serde_json::json!({
+        "server": {
+            "address": pictrs_address
+        },
+        "old_db": {
+            "path": "./pictrs/old"
+        },
+        "repo": {
+            "type": "sled",
+            "path": "./pictrs/sled-repo"
+        },
+        "store": {
+            "type": "filesystem",
+            "path": "./pictrs/files"
+        }
+    }))
+    .init::<&str>(None)
+    .expect("initialize pictrs config");
+    let (lemmy, pictrs) = tokio::join!(start_lemmy_server(), pict_rs::run());
+    lemmy?;
+    pictrs.expect("run pictrs");
+  }
+  Ok(())
 }