From b57a06d88e2eae946b09e9a82818e5c13d295e8c Mon Sep 17 00:00:00 2001 From: luccioman Date: Wed, 6 Jul 2016 22:14:40 +0200 Subject: [PATCH] Let Heroku decide which http port to use --- Procfile | 2 +- source/net/yacy/server/serverSwitch.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Procfile b/Procfile index c809724246..65a9880e6b 100755 --- a/Procfile +++ b/Procfile @@ -1 +1 @@ -web: java $JAVA_OPTS -classpath target/classes:lib/* net.yacy.yacy \ No newline at end of file +web: java $JAVA_OPTS -Dhttp.port=$PORT -classpath target/classes:lib/* net.yacy.yacy \ No newline at end of file diff --git a/source/net/yacy/server/serverSwitch.java b/source/net/yacy/server/serverSwitch.java index 02fe4443e8..0f3bbcbf04 100644 --- a/source/net/yacy/server/serverSwitch.java +++ b/source/net/yacy/server/serverSwitch.java @@ -229,6 +229,15 @@ public int getPublicPort(final String key, final int dflt) { */ public int getLocalPort() { + /* A system property "http.port" may override configuration + * This is useful when running YaCy inside a container manager such as Heroku which decide which http port to use */ + String systemDefinedPort = System.getProperty("http.port"); + if(systemDefinedPort != null) { + try { + return Integer.parseInt(systemDefinedPort); + } catch(NumberFormatException e) { + } + } return getConfigInt("port", 8090); }