Merge branch 'teromene-config_dif_addr'

This commit is contained in:
Dessalines 2019-12-06 15:00:44 -08:00
commit d648eaaa5f
2 changed files with 28 additions and 14 deletions

View file

@ -42,18 +42,21 @@ use rand::distributions::Alphanumeric;
use rand::{thread_rng, Rng};
use regex::Regex;
use std::env;
use std::net::IpAddr;
pub struct Settings {
db_url: String,
hostname: String,
jwt_secret: String,
rate_limit_message: i32,
rate_limit_message_per_second: i32,
rate_limit_post: i32,
rate_limit_post_per_second: i32,
rate_limit_register: i32,
rate_limit_register_per_second: i32,
email_config: Option<EmailConfig>,
pub db_url: String,
pub hostname: String,
pub bind: IpAddr,
pub port: u16,
pub jwt_secret: String,
pub rate_limit_message: i32,
pub rate_limit_message_per_second: i32,
pub rate_limit_post: i32,
pub rate_limit_post_per_second: i32,
pub rate_limit_register: i32,
pub rate_limit_register_per_second: i32,
pub email_config: Option<EmailConfig>,
}
pub struct EmailConfig {
@ -64,7 +67,7 @@ pub struct EmailConfig {
}
impl Settings {
fn get() -> Self {
pub fn get() -> Self {
dotenv().ok();
let email_config =
@ -82,6 +85,14 @@ impl Settings {
Settings {
db_url: env::var("DATABASE_URL").expect("DATABASE_URL must be set"),
hostname: env::var("HOSTNAME").unwrap_or("rrr".to_string()),
bind: env::var("BIND")
.unwrap_or("0.0.0.0".to_string())
.parse()
.unwrap(),
port: env::var("PORT")
.unwrap_or("8536".to_string())
.parse()
.unwrap(),
jwt_secret: env::var("JWT_SECRET").unwrap_or("changeme".to_string()),
rate_limit_message: env::var("RATE_LIMIT_MESSAGE")
.unwrap_or("30".to_string())

View file

@ -10,6 +10,7 @@ use lemmy_server::db::establish_connection;
use lemmy_server::feeds;
use lemmy_server::nodeinfo;
use lemmy_server::websocket::server::*;
use lemmy_server::Settings;
use std::env;
use std::time::{Duration, Instant};
@ -190,8 +191,10 @@ fn main() {
// Start chat server actor in separate thread
let server = ChatServer::default().start();
// Create Http server with websocket support
let settings = Settings::get();
// Create Http server with websocket support
HttpServer::new(move || {
App::new()
.data(server.clone())
@ -210,11 +213,11 @@ fn main() {
// static resources
.service(actix_files::Files::new("/static", front_end_dir()))
})
.bind("0.0.0.0:8536")
.bind((settings.bind, settings.port))
.unwrap()
.start();
println!("Started http server: 0.0.0.0:8536");
println!("Started http server at {}:{}", settings.bind, settings.port);
let _ = sys.run();
}