1 use crate::settings::{CaptchaConfig, DatabaseConfig, FederationConfig, RateLimitConfig, Settings};
2 use std::net::{IpAddr, Ipv4Addr};
4 impl Default for Settings {
7 database: Some(DatabaseConfig::default()),
8 rate_limit: Some(RateLimitConfig::default()),
9 federation: Some(FederationConfig::default()),
10 captcha: Some(CaptchaConfig::default()),
14 bind: Some(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0))),
16 tls_enabled: Some(true),
17 jwt_secret: Some("changeme".into()),
18 pictrs_url: Some("http://pictrs:8080".into()),
19 iframely_url: Some("http://iframely".into()),
20 additional_slurs: None,
21 actor_name_max_length: Some(20),
26 impl Default for DatabaseConfig {
27 fn default() -> Self {
29 user: Some("lemmy".to_string()),
30 password: "password".into(),
31 host: "localhost".into(),
33 database: Some("lemmy".to_string()),
39 impl Default for CaptchaConfig {
40 fn default() -> Self {
43 difficulty: "medium".into(),
48 impl Default for FederationConfig {
49 fn default() -> Self {
52 allowed_instances: None,
53 blocked_instances: None,
54 strict_allowlist: Some(true),
59 impl Default for RateLimitConfig {
60 fn default() -> Self {
63 message_per_second: 60,
67 register_per_second: 3600,
69 image_per_second: 3600,