diff --git a/apps/secs_server.cpp b/apps/secs_server.cpp index 8a9c791..cea7c80 100644 --- a/apps/secs_server.cpp +++ b/apps/secs_server.cpp @@ -54,12 +54,16 @@ void refresh(gem::EquipmentDataModel& m, const gem::ControlStateMachine& sm) { int main(int argc, char** argv) { const auto port = static_cast(std::stoi(arg(argc, argv, "--port", "5000"))); - const auto equipment_yaml = arg(argc, argv, "--config", "/app/data/equipment.yaml"); - const auto state_yaml = arg(argc, argv, "--state-table", "/app/data/control_state.yaml"); + // Defaults are relative to the current working directory so the + // binary works both inside the docker image (WORKDIR=/app) and on a + // host build run from the repo root. Pass explicit --config etc. + // when running from anywhere else. + const auto equipment_yaml = arg(argc, argv, "--config", "data/equipment.yaml"); + const auto state_yaml = arg(argc, argv, "--state-table", "data/control_state.yaml"); const auto pj_state_yaml = arg(argc, argv, "--pj-state-table", - "/app/data/process_job_state.yaml"); + "data/process_job_state.yaml"); const auto cj_state_yaml = arg(argc, argv, "--cj-state-table", - "/app/data/control_job_state.yaml"); + "data/control_job_state.yaml"); const auto spool_dir = arg(argc, argv, "--spool-dir", ""); const bool validate_only = has_flag(argc, argv, "--validate-config");