agregase variable de entorno IP

This commit is contained in:
serxoz 2023-03-10 17:29:05 +01:00
parent 2cc98bb908
commit 47de0590e7
3 changed files with 15 additions and 4 deletions

View File

@ -4,11 +4,11 @@ La idea es tener en una web los generadores de personajes, naves, monstruos, etc
## Run ## Run
``` ```
TEMPLATES="templates" PORT="3007" cargo run TEMPLATES="templates" IP="127.0.0.1" PORT="3007" cargo run
``` ```
### Docker ### Docker
Para executar en docker hai que cambiar a app para que escoite en 0.0.0.0 en vez Para executar en docker hai que facer que escoite en 0.0.0.0 en vez
de en 127.0.0.1 de en 127.0.0.1
``` ```
@ -16,6 +16,7 @@ docker build -t generadores-itk -f Dockerfile .
docker run \ docker run \
--rm \ --rm \
-e TEMPLATES="templates" \ -e TEMPLATES="templates" \
-e IP="0.0.0.0" \
-e PORT="3007" \ -e PORT="3007" \
-p 3007:3007 \ -p 3007:3007 \
generadores-itk generadores-itk

View File

@ -1,4 +1,6 @@
use std::env; use std::env;
use std::str::FromStr;
use std::net::Ipv4Addr;
// le a variable de entorno TEMPLATES para configurar o path ó directorio dos templates // le a variable de entorno TEMPLATES para configurar o path ó directorio dos templates
pub fn env_templates_dir() -> String { pub fn env_templates_dir() -> String {
@ -8,6 +10,15 @@ pub fn env_templates_dir() -> String {
} }
} }
// le a variable de entorno IP para configurar a ip de escoita
// por defecto 127.0.0.1
pub fn env_listen_ip() -> Ipv4Addr {
match env::var_os("IP") {
Some(val) => Ipv4Addr::from_str(val.to_str().unwrap()).unwrap(),
None => Ipv4Addr::new(127, 0, 0, 1),
}
}
// le a variable de entorno PORT para configurar o porto de escoita // le a variable de entorno PORT para configurar o porto de escoita
// por defecto o 3000 // por defecto o 3000
pub fn env_listen_port() -> u16 { pub fn env_listen_port() -> u16 {

View File

@ -17,8 +17,7 @@ async fn main() {
.route("/astronaves", get(genera_astronave)); .route("/astronaves", get(genera_astronave));
// executase con hyper a través de axum::Server // executase con hyper a través de axum::Server
let addr = SocketAddr::from(([127, 0, 0, 1], itkg_lib::env_listen_port())); let addr = SocketAddr::from((itkg_lib::env_listen_ip(), itkg_lib::env_listen_port()));
// let addr = SocketAddr::from(([0, 0, 0, 0], itkg_lib::env_listen_port()));
tracing::debug!("listening on {}", addr); tracing::debug!("listening on {}", addr);
axum::Server::bind(&addr) axum::Server::bind(&addr)
.serve(app.into_make_service()) .serve(app.into_make_service())