Our Personal Data Server from scratch!
0

Configure Feed

Select the types of activity you want to include in your feed.

feat(config): add more default crawlers/relays

author
nelind
committer
Tangled
date (Jul 15, 2026, 8:58 AM +0300) commit 4416f50c parent e41f3474 change-id lvllowrt
+22 -13
+20 -11
crates/tranquil-config/src/lib.rs
··· 853 853 pub max_concurrent_repo_exports: usize, 854 854 855 855 /// List of relay / crawler notification URLs. 856 - #[config(env = "CRAWLERS", parse_env = split_comma_list)] 857 - pub crawlers: Option<Vec<String>>, 858 - } 856 + #[config(env = "CRAWLERS", parse_env = split_comma_list, default = [ 857 + // If you know of more relays it makes sense to have here by all means make a PR! 858 + // All we request is that you only add "major" relays. 859 + // What exactly "major" means is up to interpretation and we will make the final call, 860 + // but a good rule of thumb is "most people are likely to add the relay if they know about it" 859 861 860 - impl FirehoseConfig { 861 - /// Returns the list of crawler URLs, falling back to `["https://bsky.network"]` 862 - /// when none are configured. 863 - pub fn crawler_list(&self) -> Vec<String> { 864 - self.crawlers 865 - .clone() 866 - .unwrap_or_else(|| vec!["https://bsky.network".to_string()]) 867 - } 862 + // Microcosm relays 863 + "https://relay.fire.hose.cam", 864 + "https://relay3.fr.hose.cam", 865 + // PBC relay 866 + "https://bsky.network", 867 + // firehose.network relays 868 + "https://northamerica.firehose.network", 869 + "https://europe.firehose.network", 870 + "https://asia.firehose.network", 871 + // Blacksky relay 872 + "https://atproto.africa", 873 + // UpCloud relay 874 + "https://relay.upcloud.world", 875 + ])] 876 + pub crawlers: Vec<String>, 868 877 } 869 878 870 879 #[derive(Debug, Config)]
+2 -2
crates/tranquil-pds/src/crawlers.rs
··· 47 47 return None; 48 48 } 49 49 50 - let crawler_urls = cfg.firehose.crawler_list(); 50 + let crawler_urls = &cfg.firehose.crawlers; 51 51 52 52 if crawler_urls.is_empty() { 53 53 return None; 54 54 } 55 55 56 - Some(Self::new(hostname.to_string(), crawler_urls)) 56 + Some(Self::new(hostname.to_string(), crawler_urls.clone())) 57 57 } 58 58 59 59 fn should_notify(&self) -> bool {