The CUORE experiment will search for neutrinoless double-beta decay of $^{130}$Te with an array of 988 TeO$_2$ bolometers arranged in 19 towers. CUORE-0, the first tower assembled according to the CUORE procedures, was built and commissioned at Laboratori Nazionali del Gran Sasso, and took data from March 2013 to March 2015. In this paper we describe the design, construction and operation of the CUORE-0 experiment, with an emphasis on the improvements made over a predecessor experiment, Cuoricino. In particular, we demonstrate with CUORE-0 data that the design goals of CUORE are within reach.