diff --git a/docker/runner.Dockerfile b/docker/runner.Dockerfile index 4ccf461c..d4db73cc 100644 --- a/docker/runner.Dockerfile +++ b/docker/runner.Dockerfile @@ -28,7 +28,3 @@ COPY docker/.artifacts/bundle.car $FM_HOME_DIR/bundle.car COPY docker/.artifacts/contracts $FM_HOME_DIR/contracts COPY --from=builder /app/fendermint/app/config $FM_HOME_DIR/config COPY --from=builder /app/output/bin/fendermint /usr/local/bin/fendermint - -RUN useradd ipc && chown -R ipc $FM_HOME_DIR - -USER ipc \ No newline at end of file diff --git a/fendermint/app/options/src/lib.rs b/fendermint/app/options/src/lib.rs index bfcbf33c..a9008910 100644 --- a/fendermint/app/options/src/lib.rs +++ b/fendermint/app/options/src/lib.rs @@ -75,6 +75,10 @@ pub struct Options { )] pub home_dir: PathBuf, + /// Set a custom directory for ipc log files. + #[arg(short = 'd', long, default_value = "/tmp/ipc/logs", env = "FM_LOG_DIR")] + pub log_dir: PathBuf, + /// Optionally override the default configuration. #[arg(short, long, default_value = "dev")] pub mode: String, diff --git a/fendermint/app/src/main.rs b/fendermint/app/src/main.rs index c921e167..60d96912 100644 --- a/fendermint/app/src/main.rs +++ b/fendermint/app/src/main.rs @@ -23,7 +23,7 @@ async fn main() { // Log events to stdout. if let Some(level) = opts.tracing_level() { - create_log(level, &opts.home_dir).expect("cannot create logging"); + create_log(level, &opts.log_dir).expect("cannot create logging"); } if let Err(e) = cmd::exec(&opts).await { @@ -32,9 +32,8 @@ async fn main() { } } -fn create_log(level: tracing::Level, home_dir: &Path) -> anyhow::Result<()> { - let log_folder = expand_tilde(home_dir) - .join("logs") +fn create_log(level: tracing::Level, log_dir: &Path) -> anyhow::Result<()> { + let log_folder = expand_tilde(log_dir) .to_str() .ok_or_else(|| anyhow!("cannot parse log folder"))? .to_string();