更新模組化的 interface 並使用 build tag 區分 with/without docker