diff --git a/server.go b/server.go
index 3e55b534d1babf5d0ea2198c75928e161cc774ff_c2VydmVyLmdv..4b0f6e65fca9f35fdc979b02c3be75e128934344_c2VydmVyLmdv 100644
--- a/server.go
+++ b/server.go
@@ -28,6 +28,7 @@
 
 // API is a configured api
 type API interface {
+	Name() string
 	Handler() http.Handler
 	PreServerShutdown()
 	ServerShutdown()
@@ -48,7 +49,7 @@
 	}
 }
 
-// NewServer creates a new api rednerd server but does not configure it
+// NewServer creates a new api server but does not configure it
 func NewServer(api API) *Server {
 	s := new(Server)
 
@@ -58,10 +59,10 @@
 	return s
 }
 
-// Server for the rednerd API
+// Server for the API
 type Server struct {
 	EnabledListeners []string         `long:"scheme" description:"the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec"`
 	CleanupTimeout   time.Duration    `long:"cleanup-timeout" description:"grace period for which to wait before killing idle connections" default:"10s"`
 	GracefulTimeout  time.Duration    `long:"graceful-timeout" description:"grace period for which to wait before shutting down the server" default:"15s"`
 	MaxHeaderSize    flagext.ByteSize `long:"max-header-size" description:"controls the maximum number of bytes the server will read parsing the request header's keys and values, including the request line. It does not limit the size of the request body." default:"1MiB"`
 
@@ -62,10 +63,10 @@
 type Server struct {
 	EnabledListeners []string         `long:"scheme" description:"the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec"`
 	CleanupTimeout   time.Duration    `long:"cleanup-timeout" description:"grace period for which to wait before killing idle connections" default:"10s"`
 	GracefulTimeout  time.Duration    `long:"graceful-timeout" description:"grace period for which to wait before shutting down the server" default:"15s"`
 	MaxHeaderSize    flagext.ByteSize `long:"max-header-size" description:"controls the maximum number of bytes the server will read parsing the request header's keys and values, including the request line. It does not limit the size of the request body." default:"1MiB"`
 
-	SocketPath    flags.Filename `long:"socket-path" description:"the unix socket to listen on" default:"/var/run/rednerd.sock"`
+	SocketPath    flags.Filename `long:"socket-path" description:"the unix socket to listen on" default:"/var/run/server.sock"`
 	domainSocketL net.Listener
 
 	Host         string        `long:"host" description:"the IP to listen on" default:"localhost" env:"HOST"`
@@ -176,9 +177,9 @@
 
 		servers = append(servers, domainSocket)
 		wg.Add(1)
-		s.Logf("Serving rednerd at unix://%s", s.SocketPath)
+		s.Logf("Serving %s at unix://%s", s.api.Name(), s.SocketPath)
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := domainSocket.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
@@ -180,9 +181,9 @@
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := domainSocket.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
-			s.Logf("Stopped serving rednerd at unix://%s", s.SocketPath)
+			s.Logf("Stopped serving %s at unix://%s", s.api.Name(), s.SocketPath)
 		}(s.domainSocketL)
 	}
 
@@ -206,9 +207,9 @@
 
 		servers = append(servers, httpServer)
 		wg.Add(1)
-		s.Logf("Serving rednerd at http://%s", s.httpServerL.Addr())
+		s.Logf("Serving %s at http://%s", s.api.Name(), s.httpServerL.Addr())
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := httpServer.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
@@ -210,9 +211,9 @@
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := httpServer.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
-			s.Logf("Stopped serving rednerd at http://%s", l.Addr())
+			s.Logf("Stopped serving %s at http://%s", s.api.Name(), l.Addr())
 		}(s.httpServerL)
 	}
 
@@ -302,9 +303,9 @@
 
 		servers = append(servers, httpsServer)
 		wg.Add(1)
-		s.Logf("Serving rednerd at https://%s", s.httpsServerL.Addr())
+		s.Logf("Serving %s at https://%s", s.api.Name(), s.httpsServerL.Addr())
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := httpsServer.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
@@ -306,9 +307,9 @@
 		go func(l net.Listener) {
 			defer wg.Done()
 			if err := httpsServer.Serve(l); err != nil && err != http.ErrServerClosed {
 				s.Fatalf("%v", err)
 			}
-			s.Logf("Stopped serving rednerd at https://%s", l.Addr())
+			s.Logf("Stopped %s at https://%s", s.api.Name(), l.Addr())
 		}(tls.NewListener(s.httpsServerL, httpsServer.TLSConfig))
 	}
 
diff --git a/templates/server/cmdServe.gotmpl b/templates/server/cmdServe.gotmpl
index 3e55b534d1babf5d0ea2198c75928e161cc774ff_dGVtcGxhdGVzL3NlcnZlci9jbWRTZXJ2ZS5nb3RtcGw=..4b0f6e65fca9f35fdc979b02c3be75e128934344_dGVtcGxhdGVzL3NlcnZlci9jbWRTZXJ2ZS5nb3RtcGw= 100644
--- a/templates/server/cmdServe.gotmpl
+++ b/templates/server/cmdServe.gotmpl
@@ -108,6 +108,8 @@
 		Logger.Fatal().Msg(err.Error())
 	}
 
+	serve.FindOptionByLongName("socket-path").Default = []string{"/var/run/{{dasherize .Name}}.sock"}
+
 	serve.EnvNamespace = "SERVE"
 	serve.FindOptionByLongName("scheme").EnvDefaultKey = "SCHEME"
 
diff --git a/templates/server/configureapi.gotmpl b/templates/server/configureapi.gotmpl
index 3e55b534d1babf5d0ea2198c75928e161cc774ff_dGVtcGxhdGVzL3NlcnZlci9jb25maWd1cmVhcGkuZ290bXBs..4b0f6e65fca9f35fdc979b02c3be75e128934344_dGVtcGxhdGVzL3NlcnZlci9jb25maWd1cmVhcGkuZ290bXBs 100644
--- a/templates/server/configureapi.gotmpl
+++ b/templates/server/configureapi.gotmpl
@@ -56,6 +56,10 @@
 	handler http.Handler
 }
 
+func (capi *ConfiguredAPI) Name() string {
+	return "{{ .Name }}"
+}
+
 func (capi *ConfiguredAPI) Handler() http.Handler {
 	return capi.handler
 }
@@ -145,10 +149,6 @@
   }
   {{- end }}
 
-  api.PreServerShutdown = func() {  }
-
-  api.ServerShutdown = func() {  }
-
 	return &ConfiguredAPI{
 		api: api,
 		handler: setupGlobalMiddleware(api.Serve(setupMiddlewares)),