From 0a358b870ab5443f123bb980fff3ccdada4cdc89 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Tue, 2 Mar 2021 12:51:58 +0900 Subject: [PATCH 1/3] Add Procfile for Heroku Add emk/rust buildpack --- Procfile | 1 + 1 file changed, 1 insertion(+) create mode 100644 Procfile diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..a055afe --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: ./target/release/core-api From 10a16bb8480e9369f67a0632fe271cfe9734b0d1 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Tue, 2 Mar 2021 13:24:53 +0900 Subject: [PATCH 2/3] Fix package name on Cargo.toml --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 9b3019a..6e9c63a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "actix-webapp" +name = "core-api" version = "0.1.0" authors = ["tanacchi "] edition = "2018" From 209ae6c667265ca0134cfc435e694cc27ee6d6b9 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Tue, 2 Mar 2021 13:43:55 +0900 Subject: [PATCH 3/3] Modify server launcher to set port number from env --- src/main.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 22d32d7..6b9ecda 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,6 +24,7 @@ async fn main() -> std::io::Result<()> { use crate::routes; use dotenv::dotenv; use tokio_postgres::NoTls; + use std::env; std::env::set_var("RUST_LOG", "actix_web=debug"); env_logger::init(); @@ -31,7 +32,10 @@ async fn main() -> std::io::Result<()> { let config = config::Config::from_env().unwrap(); let pool = config.pg.create_pool(NoTls).unwrap(); - + let port = env::var("PORT") + .unwrap_or_else(|_| "8080".to_string()) + .parse() + .expect("PORT must be a number."); let server = HttpServer::new(move || { let cors = Cors::permissive(); // FIXME @@ -46,9 +50,11 @@ async fn main() -> std::io::Result<()> { .configure(routes::app_config) }) - .bind(config.server_addr.clone())? + .bind((config.server_addr.clone(), port))? .run(); - println!("Server running at http://{}/", config.server_addr); + println!("Server running at http://{}:{}/", + config.server_addr, + port); server.await }