diff --git a/cmd/rove-accountant/main.go b/cmd/rove-accountant/main.go
index 3e8e0d2..767f1f4 100644
--- a/cmd/rove-accountant/main.go
+++ b/cmd/rove-accountant/main.go
@@ -15,7 +15,6 @@ import (
 	"google.golang.org/grpc"
 )
 
-var address = os.Getenv("HOST_ADDRESS")
 var data = os.Getenv("DATA_PATH")
 
 // accountantServer is the internal object to manage the requests
@@ -82,8 +81,9 @@ func (a *accountantServer) GetValue(_ context.Context, in *accounts.DataKey) (*a
 // main
 func main() {
 	// Verify the input
+	var address = os.Getenv("ROVE_ACCOUNTANT_GRPC")
 	if len(address) == 0 {
-		log.Fatal("No address set with $HOST_ADDRESS")
+		log.Fatal("No address set with $ROVE_ACCOUNTANT_GRPC")
 	}
 
 	persistence.SetPath(data)
diff --git a/cmd/rove-reverse-proxy/main.go b/cmd/rove-reverse-proxy/main.go
index a818aec..8eeb5b9 100644
--- a/cmd/rove-reverse-proxy/main.go
+++ b/cmd/rove-reverse-proxy/main.go
@@ -2,44 +2,42 @@ package main
 
 import (
 	"context"
-	"flag"
 	"fmt"
+	"log"
 	"net/http"
 	"os"
 
-	"github.com/golang/glog"
 	"github.com/grpc-ecosystem/grpc-gateway/runtime"
 	"google.golang.org/grpc"
 
 	"github.com/mdiluz/rove/pkg/rove"
 )
 
-var endpoint = os.Getenv("GRPC_ENDPOINT")
-var address = os.Getenv("HOST_ADDRESS")
-
-func run() error {
+func main() {
 	ctx := context.Background()
 	ctx, cancel := context.WithCancel(ctx)
 	defer cancel()
 
-	// Create a new mux and register it with the gRPC engpoint
+	var endpoint = os.Getenv("ROVE_GRPC")
+	if len(endpoint) == 0 {
+		log.Fatal("Must set $ROVE_GRPC")
+	}
+
+	var address = os.Getenv("ROVE_HTTP")
+	if len(address) == 0 {
+		log.Fatal("Must set $ROVE_HTTP")
+	}
+
+	// Create a new mux and register it with the gRPC endpoint
 	fmt.Printf("Hosting reverse-proxy on %s for %s\n", address, endpoint)
 	mux := runtime.NewServeMux()
 	opts := []grpc.DialOption{grpc.WithInsecure()}
-	err := rove.RegisterRoveHandlerFromEndpoint(ctx, mux, endpoint, opts)
-	if err != nil {
-		return err
+	if err := rove.RegisterRoveHandlerFromEndpoint(ctx, mux, endpoint, opts); err != nil {
+		log.Fatal(err)
 	}
 
 	// Start the HTTP server and proxy calls to gRPC endpoint when needed
-	return http.ListenAndServe(address, mux)
-}
-
-func main() {
-	flag.Parse()
-	defer glog.Flush()
-
-	if err := run(); err != nil {
-		glog.Fatal(err)
+	if err := http.ListenAndServe(address, mux); err != nil {
+		log.Fatal(err)
 	}
 }
diff --git a/cmd/rove-server/internal/server.go b/cmd/rove-server/internal/server.go
index 3df7fea..dc3500e 100644
--- a/cmd/rove-server/internal/server.go
+++ b/cmd/rove-server/internal/server.go
@@ -17,8 +17,6 @@ import (
 	"google.golang.org/grpc"
 )
 
-var accountantAddress = os.Getenv("ACCOUNTANT_ADDRESS")
-
 const (
 	// PersistentData will allow the server to load and save it's state
 	PersistentData = iota
@@ -106,8 +104,9 @@ func (s *Server) Initialise(fillWorld bool) (err error) {
 	s.sync.Add(1)
 
 	// Connect to the accountant
+	accountantAddress := os.Getenv("ROVE_ACCOUNTANT_GRPC")
 	if len(accountantAddress) == 0 {
-		log.Fatal("must set ACCOUNTANT_ADDRESS")
+		log.Fatal("must set $ROVE_ACCOUNTANT_GRPC")
 	}
 	log.Printf("Dialing accountant on %s\n", accountantAddress)
 	s.clientConn, err = grpc.Dial(accountantAddress, grpc.WithInsecure())
diff --git a/cmd/rove-server/internal/server_test.go b/cmd/rove-server/internal/server_test.go
index 36db679..1297ec2 100644
--- a/cmd/rove-server/internal/server_test.go
+++ b/cmd/rove-server/internal/server_test.go
@@ -1,6 +1,7 @@
 package internal
 
 import (
+	"os"
 	"testing"
 )
 
@@ -30,6 +31,7 @@ func TestNewServer_OptionPersistentData(t *testing.T) {
 }
 
 func TestServer_Run(t *testing.T) {
+	os.Setenv("ROVE_ACCOUNTANT_GRPC", "n/a")
 	server := NewServer()
 	if server == nil {
 		t.Error("Failed to create server")
@@ -45,6 +47,7 @@ func TestServer_Run(t *testing.T) {
 }
 
 func TestServer_RunPersistentData(t *testing.T) {
+	os.Setenv("ROVE_ACCOUNTANT_GRPC", "n/a")
 	server := NewServer(OptionPersistentData())
 	if server == nil {
 		t.Error("Failed to create server")
diff --git a/cmd/rove-server/main.go b/cmd/rove-server/main.go
index d81f424..cb489da 100644
--- a/cmd/rove-server/main.go
+++ b/cmd/rove-server/main.go
@@ -7,7 +7,6 @@ import (
 	"os/signal"
 	"strconv"
 	"syscall"
-	"time"
 
 	"github.com/mdiluz/rove/cmd/rove-server/internal"
 	"github.com/mdiluz/rove/pkg/persistence"
@@ -15,10 +14,6 @@ import (
 )
 
 var ver = flag.Bool("version", false, "Display version number")
-var quit = flag.Int("quit", 0, "Quit after n seconds, useful for testing")
-
-// Address to host the server on, automatically selected if empty
-var address = os.Getenv("HOST_ADDRESS")
 
 // Path for persistent storage
 var data = os.Getenv("DATA_PATH")
@@ -35,8 +30,10 @@ func InnerMain() {
 		return
 	}
 
+	// Address to host the server on, automatically selected if empty
+	var address = os.Getenv("ROVE_GRPC")
 	if len(address) == 0 {
-		log.Fatalf("Must set HOST_ADDRESS")
+		log.Fatalf("Must set $ROVE_GRPC")
 	}
 
 	log.Printf("Initialising version %s...\n", version.Version)
@@ -76,14 +73,6 @@ func InnerMain() {
 		}
 	}()
 
-	// Quit after a time if requested
-	if *quit != 0 {
-		go func() {
-			time.Sleep(time.Duration(*quit) * time.Second)
-			syscall.Kill(syscall.Getpid(), syscall.SIGTERM)
-		}()
-	}
-
 	// Run the server
 	s.Run()
 
diff --git a/cmd/rove-server/main_test.go b/cmd/rove-server/main_test.go
index 64aa62c..fcf9a55 100644
--- a/cmd/rove-server/main_test.go
+++ b/cmd/rove-server/main_test.go
@@ -10,9 +10,3 @@ func Test_InnerMain_Version(t *testing.T) {
 	InnerMain()
 	flag.Set("version", "0")
 }
-
-func Test_InnerMain_Quit(t *testing.T) {
-	flag.Set("quit", "1")
-	InnerMain()
-	flag.Set("quit", "0")
-}
diff --git a/cmd/rove/main_test.go b/cmd/rove/main_test.go
index 16d5dd7..aea0b0e 100644
--- a/cmd/rove/main_test.go
+++ b/cmd/rove/main_test.go
@@ -15,9 +15,9 @@ import (
 
 func Test_InnerMain(t *testing.T) {
 
-	var address = os.Getenv("ROVE_SERVER_ADDRESS")
+	var address = os.Getenv("ROVE_GRPC")
 	if len(address) == 0 {
-		log.Fatal("Must set ROVE_SERVER_ADDRESS")
+		log.Fatal("Must set $ROVE_GRPC")
 	}
 
 	// Set up the flags to act locally and use a temporary file
diff --git a/docker-compose.yml b/docker-compose.yml
index f9568f4..4e0f490 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,9 +10,9 @@ services:
       dockerfile: Dockerfile
     image: rove:latest
     ports:
-      - "8081:8081"
+      - "9091:9091"
     environment:
-      - HOST_ADDRESS=:8081
+      - ROVE_ACCOUNTANT_GRPC=:9091
       - DATA_PATH=/mnt/rove-server
     volumes:
       - persistent-data:/mnt/rove-server:rw
@@ -26,8 +26,8 @@ services:
     ports:
       - "8080:8080"
     environment:
-      - HOST_ADDRESS=:8080
-      - GRPC_ENDPOINT=rove-server:8082
+      - ROVE_HTTP=:8080
+      - ROVE_GRPC=:9090
     command: [ ./rove-reverse-proxy ]
 
   rove-docs:
@@ -47,11 +47,11 @@ services:
       dockerfile: Dockerfile
     image: rove:latest
     ports:
-      - "8082:8082"
+      - "9090:9090"
     environment:
-      - HOST_ADDRESS=:8082
+      - ROVE_GRPC=:9090
       - DATA_PATH=/mnt/rove-server
-      - ACCOUNTANT_ADDRESS=rove-accountant:8081
+      - ROVE_ACCOUNTANT_GRPC=:9091
     volumes:
       - persistent-data:/mnt/rove-server:rw
 
@@ -62,8 +62,8 @@ services:
       dockerfile: Dockerfile
     image: rove:latest
     environment:
-      - ACCOUNTANT_ADDRESS=rove-accountant:8081
-      - ROVE_SERVER_ADDRESS=rove-reverse-proxy:8080
+      - ROVE_ACCOUNTANT_GRPC=:9091
+      - ROVE_GRPC=rove-server:9090
     command: [ "go", "test", "-v", "./...", "--tags=integration", "-cover", "-coverprofile=/mnt/coverage-data/c.out", "-count", "1" ]
     volumes:
       - /tmp/coverage-data:/mnt/coverage-data:rw