diff --git a/watchdog/main.go b/watchdog/main.go
index dfcde9a2b01ea8d964bea236a915bde14c64c6b0..9ecf1fec6d642ccd27db9f223799d3cab327facd 100644
--- a/watchdog/main.go
+++ b/watchdog/main.go
@@ -7,23 +7,53 @@ import (
 	"net/http"
 	"os"
 	"os/exec"
+	"strconv"
 	"strings"
 	"time"
 )
 
 func main() {
+	readTimeoutStr := os.Getenv("read_timeout")
+	writeTimeoutStr := os.Getenv("write_timeout")
+	writeDebugStr := os.Getenv("write_debug")
+	process := os.Getenv("fprocess")
+
+	readTimeout := 5 * time.Second
+	writeTimeout := 5 * time.Second
+	writeDebug := true
+
+	if len(process) == 0 {
+		log.Panicln("Provide a valid process via fprocess environmental variable.")
+		return
+	}
+
+	if len(writeDebugStr) > 0 && writeDebugStr == "false" {
+		writeDebug = false
+	}
+
+	if len(readTimeoutStr) > 0 {
+		parsedVal, parseErr := strconv.Atoi(readTimeoutStr)
+		if parseErr == nil && parsedVal > 0 {
+			readTimeout = time.Duration(parsedVal) * time.Second
+		}
+	}
+
+	if len(writeTimeoutStr) > 0 {
+		parsedVal, parseErr := strconv.Atoi(writeTimeoutStr)
+		if parseErr == nil && parsedVal > 0 {
+			writeTimeout = time.Duration(parsedVal) * time.Second
+		}
+	}
+
 	s := &http.Server{
 		Addr:           ":8080",
-		ReadTimeout:    5 * time.Second,
-		WriteTimeout:   5 * time.Second,
+		ReadTimeout:    readTimeout,
+		WriteTimeout:   writeTimeout,
 		MaxHeaderBytes: 1 << 20,
 	}
 
 	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
 		if r.Method == "POST" {
-
-			process := os.Getenv("fprocess")
-
 			parts := strings.Split(process, " ")
 
 			targetCmd := exec.Command(parts[0], parts[1:]...)
@@ -34,10 +64,13 @@ func main() {
 			writer.Write(res)
 			writer.Close()
 
-			out, err := targetCmd.Output()
-			targetCmd.CombinedOutput()
+			out, err := targetCmd.CombinedOutput()
+
 			if err != nil {
-				log.Println(targetCmd, err)
+				if writeDebug == true {
+					log.Println(targetCmd, err)
+				}
+
 				w.WriteHeader(500)
 				response := bytes.NewBufferString(err.Error())
 				w.Write(response.Bytes())
@@ -45,8 +78,10 @@ func main() {
 			}
 			w.WriteHeader(200)
 
-			// TODO: consider stdout to container as configurable via env-variable.
-			os.Stdout.Write(out)
+			if writeDebug == true {
+				os.Stdout.Write(out)
+			}
+
 			w.Write(out)
 		}
 	})