code: func (m *Command) Start() (err error) {
  	defer close(m.Started)
  
  	// Seed random number generator
  	rand.Seed(time.Now().UTC().UnixNano())
  
  	// SetupServer
  	err = m.SetupServer()
  	if err != nil {
  		return errors.Wrap(err, "setting up server")
  	}
  
  	// SetupNetworking
  	err = m.setupNetworking()
  	if err != nil {
  		return errors.Wrap(err, "setting up networking")
  	}
  	go func() {
  		err := m.Handler.Serve()
  		if err != nil {
  			m.logger.Printf("handler serve error: %v", err)
  		}
  	}()
  
  	// Initialize server.
  	if err = m.Server.Open(); err != nil {
  		return errors.Wrap(err, "opening server")
  	}
  
  	m.logger.Printf("listening as %s\n", m.listenURI)
  
  	return nil
  }
docs: // Start starts the pilosa server - it returns once the server is running.