]> Untitled Git - lemmy.git/blob - src/main.rs
make embedded pict-rs port configurable (#3201)
[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     let pictrs_port = &SETTINGS
12       .pictrs_config()
13       .unwrap_or_default()
14       .url
15       .port()
16       .unwrap_or(8080);
17     let pictrs_address = ["127.0.0.1", &pictrs_port.to_string()].join(":");
18     println!("pictrs_address = {}", pictrs_address);
19     pict_rs::ConfigSource::memory(serde_json::json!({
20         "server": {
21             "address": pictrs_address
22         },
23         "old_db": {
24             "path": "./pictrs/old"
25         },
26         "repo": {
27             "type": "sled",
28             "path": "./pictrs/sled-repo"
29         },
30         "store": {
31             "type": "filesystem",
32             "path": "./pictrs/files"
33         }
34     }))
35     .init::<&str>(None)
36     .expect("initialize pictrs config");
37     let (lemmy, pictrs) = tokio::join!(start_lemmy_server(), pict_rs::run());
38     lemmy?;
39     pictrs.expect("run pictrs");
40   }
41   Ok(())
42 }