code: func Run() {
  	// to see what happens in the package, uncomment the following
  	//restful.TraceLogger(log.New(os.Stdout, "[restful] ", log.LstdFlags|log.Lshortfile))
  
  	// Setup web-service
  	smolderConfig := smolder.APIConfig{
  		BaseURL:    canonicalURL,
  		PathPrefix: "v1/",
  	}
  	context := &context.APIContext{
  		Config: smolderConfig,
  	}
  
  	wsContainer := smolder.NewSmolderContainer(smolderConfig, nil, nil)
  	wsContainer.Router(restful.CurlyRouter{})
  	ws := new(restful.WebService)
  	ws.Route(ws.GET("/images/{subpath:*}").To(assetHandler))
  	ws.Route(ws.GET("/oauth2/{subpath:*}").To(oauth2Handler))
  	ws.Route(ws.GET("/{subpath:*}").To(assetHandler))
  	ws.Route(ws.GET("/").To(assetHandler))
  	wsContainer.Add(ws)
  
  	func(resources ...smolder.APIResource) {
  		for _, r := range resources {
  			r.Register(wsContainer, smolderConfig, context)
  		}
  	}(
  		&hives.HiveResource{},
  		&bees.BeeResource{},
  		&chains.ChainResource{},
  		&actions.ActionResource{},
  		&logs.LogResource{},
  	)
  
  	server := &http.Server{Addr: bind, Handler: wsContainer}
  	go func() {
  		log.Fatal(server.ListenAndServe())
  	}()
  }
docs: // Run sets up the restful API container and an HTTP server go-routine