diff --git a/docker-compose.yml b/docker-compose.yml index 39f20f1..d324eea 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,4 +3,5 @@ services: rove-server: build: . ports: - - "80:8080" \ No newline at end of file + - "80:80" + command: ./rove-server --port 80 \ No newline at end of file diff --git a/main.go b/main.go index 2729d78..ac03668 100644 --- a/main.go +++ b/main.go @@ -13,6 +13,8 @@ import ( var port = flag.Int("port", 8080, "The port to host on") func main() { + flag.Parse() + s := server.NewServer( server.OptionPort(*port), server.OptionPersistentData()) diff --git a/pkg/server/server.go b/pkg/server/server.go index c667855..7e07149 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -65,7 +65,6 @@ func NewServer(opts ...ServerOption) *Server { world: game.NewWorld(), persistence: EphemeralData, router: router, - server: &http.Server{Addr: ":8080", Handler: router}, } // Apply all options @@ -73,6 +72,9 @@ func NewServer(opts ...ServerOption) *Server { o(s) } + // Set up the server object + s.server = &http.Server{Addr: fmt.Sprintf(":%d", s.port), Handler: router} + return s } @@ -104,7 +106,7 @@ func (s *Server) Run() { defer s.sync.Done() // Listen and serve the http requests - fmt.Println("Serving HTTP") + fmt.Printf("Serving HTTP on port %d\n", s.port) if err := s.server.ListenAndServe(); err != nil && err != http.ErrServerClosed { log.Fatal(err) }