So, you should be able to just copy src/librustdoc into wherever and use the latest nightly on it (if you use Cargo you’ll want to remove all relative dependencies in Cargo.toml).
I suppose you’ll also want src/rustc/rustdoc.rs as your binary to have something to run.
As for the building the compiler twice: ./x.py build --stage 1 src/libstd works in terms of making a functional compiler (including rustdoc).
The problem is running tests, because some of the tests require compiler plugins, and the the “bugs” that make us need stage2 to run all tests, but the majority work at stage1 (i.e. building the compiler only once).
Sadly rustdoc tests changed to require building the compiler twice at some point because they’re testing custom derives or something.