]> Untitled Git - lemmy.git/blob - src/main.rs
Add feature to embed pictrs in lemmy binary (fixes #2627) (#2633)
[lemmy.git] / src / main.rs
1 use lemmy_server::{init_logging, start_lemmy_server};
2 use lemmy_utils::{error::LemmyError, settings::SETTINGS};
3
4 #[actix_web::main]
5 pub async fn main() -> Result<(), LemmyError> {
6   init_logging(&SETTINGS.opentelemetry_url)?;
7   #[cfg(not(feature = "embed-pictrs"))]
8   start_lemmy_server().await?;
9   #[cfg(feature = "embed-pictrs")]
10   {
11     pict_rs::ConfigSource::memory(serde_json::json!({
12         "server": {
13             "address": "127.0.0.1:8080"
14         },
15         "old_db": {
16             "path": "./pictrs/old"
17         },
18         "repo": {
19             "type": "sled",
20             "path": "./pictrs/sled-repo"
21         },
22         "store": {
23             "type": "filesystem",
24             "path": "./pictrs/files"
25         }
26     }))
27     .init::<&str>(None)
28     .expect("initialize pictrs config");
29     let (lemmy, pictrs) = tokio::join!(start_lemmy_server(), pict_rs::run());
30     lemmy?;
31     pictrs.expect("run pictrs");
32   }
33   Ok(())
34 }