Local docker development setu failure - openelisglobal-proxy | nginx: [emerg] host not found in upstream "frontend.openelis.org" in /etc/nginx/nginx.conf:58

Running the latest code from the develop branch using the Docker development method is filing with openelisglobal-proxy | nginx: [emerg] host not found in upstream “frontend.openelis.org” in /etc/nginx/nginx.conf:58 error, see error log snipet below.

I will be very grateful with assistance to resolve the error.

ronald@tux:~/oe/OpenELIS-Global-2$ docker compose -f dev.docker-compose.yml up
[+] up 4/4
:check_mark: Container openelisglobal-webapp Running 0.0s
:check_mark: Container external-fhir-api Running 0.0s
:check_mark: Container openelisglobal-front-end Running 0.0s
:check_mark: Container openelisglobal-database Running 0.0s
Attaching to external-fhir-api, oe-certs, openelisglobal-database, openelisglobal-front-end, openelisglobal-proxy, openelisglobal-webapp
oe-certs exited with code 0
openelisglobal-proxy | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
openelisglobal-proxy | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
openelisglobal-proxy | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
openelisglobal-proxy | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
openelisglobal-proxy | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
openelisglobal-proxy | /docker-entrypoint.sh: Configuration complete; ready for start up
openelisglobal-proxy | 2026/09/08 08:01:44 [emerg] 1#1: host not found in upstream “frontend.openelis.org” in /etc/nginx/nginx.conf:58
openelisglobal-proxy | nginx: [emerg] host not found in upstream “frontend.openelis.org” in /etc/nginx/nginx.conf:58
openelisglobal-proxy exited with code 1 (restarting)
openelisglobal-proxy | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
openelisglobal-proxy | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
openelisglobal-proxy | 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled
openelisglobal-proxy | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
openelisglobal-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
openelisglobal-proxy | /docker-entrypoint.sh: Configuration complete; ready for start up
openelisglobal-proxy | 2026/09/08 08:01:50 [emerg] 1#1: host not found in upstream “frontend.openelis.org” in /etc/nginx/nginx.conf:58
openelisglobal-proxy | nginx: [emerg] host not found in upstream “frontend.openelis.org” in /etc/nginx/nginx.conf:58

Hi Ronald,

Your dev.docker-compose.yml and nginx.conf actually agree on the service name (frontend.openelis.org), so this isn’t a config mismatch. The telling clue is in your log: openelisglobal-webapp, openelisglobal-front-end, and openelisglobal-database all show “Running 0.0s” — meaning Compose found them already running from an earlier session and left them alone, while only certs and proxy were (re)started fresh. If those leftover containers ended up on a different or half-torn-down network, a freshly created proxy container won’t be able to resolve them via Docker’s DNS, which is exactly what “host not found in upstream” means.

Try this:

  1. Fully tear down the stack (removes containers + network):
docker compose -f dev.docker-compose.yml down --remove-orphans
  1. Check for leftover containers/networks from a previous run:
docker ps -a | grep openelis
docker network ls | grep openelis

If anything shows up, remove it:

docker rm -f <container_name>
docker network rm <network_name>
  1. Make sure your code and images are current:
git pull
git submodule update --init --recursive
docker compose -f dev.docker-compose.yml pull
  1. Confirm a .env file exists in the repo root (create one if missing check the project wiki/README for required variables):
ls -la .env
  1. Bring the stack up fresh, forcing recreation of every container:
docker compose -f dev.docker-compose.yml up --force-recreate
  1. In a separate terminal, check the frontend container isn’t crash-looping this repo recently moved the dev frontend container to Vite, so a stale local image/cache can crash it shortly after start even though Compose briefly shows it as “running”:
docker logs openelisglobal-front-end
  1. If it still fails, check DNS resolution between proxy and frontend:
docker exec openelisglobal-proxy ping -c1 frontend.openelis.org
docker inspect openelisglobal-proxy | grep -A5 Networks
docker inspect openelisglobal-front-end | grep -A5 Networks

The two containers need to show the same network name for DNS resolution to work.

Let me know if any of these turn up something useful in the logs.
i actually think this thread would be helpful

@Agaba_Derrick_Junior Thank you very much for your detailed response. I decided to follow the Running OpenElis Global with Docker Compose for Development on a different machine, clean Operating System install (Ormachy 4.0.3-1), clean code pulled from Github running

cd OpenELIS-Global-2
git submodule update --init --recursive
cd dataexport
mvn clean install -DskipTests

Is throwing errors, error log is too long to post here. Find link to pastebin: https://pastebin.com/0DPwr0m9

Your assistance in resolving the error will be greatly appreciated

Hi @Ronald_Munjoma,

From your message, I can see that the Maven build is failing when you run mvn clean install -DskipTests in the dataexport folder.
has this build ever succeeded on your new Ormachy machine, or has it been failing from the very first attempt?

The reason this matters is that the Maven build and Docker are directly connected in this project’s development workflow i think here’s how it works that when you run mvn clean install -DskipTests in the dataexport folder, it builds the dataexport JAR and installs it into your local .m2/repository. The main OpenELIS backend WAR file then depends on this JAR to build successfully. If the dataexport build fails, the main WAR file cannot be built either.

When you later run docker compose -f dev.docker-compose.yml up -d, the openelisglobal-webapp container looks at its volume mount for the WAR file it needs to run. If that WAR file doesn’t exist because Maven failed, or if it’s an old/incomplete version from a previous attempt, the webapp container crashes or fails to start correctly. It never fully initializes to register itself with Docker’s internal DNS. Then, when the Nginx proxy tries to forward requests to the webapp by looking up its service name which it can’t find it and throws the “host not found in upstream” error you’re seeing.

So ithink the proxy error is actually a symptom of the failed Maven build.
so if you can confirm that the build is failing, first check your Maven environment setup first on your host machine mvn -version and ls -la ~/.m2/
This will help you confirm whether there are any corrupted files in your local Maven repositorySince Ormachy is Arch-based, the package names and default versions might differ from what Ubuntu gave you by default on the other machine, so you need to verify this first. else If you can find Maven is missing or with the wrong version.

Hi @joelss

Thank you very much for your assistance.

My bad, I should have opened a new thread. On the new machine the maven build did not even run. It fails on step 2

Blockquote

  1. innitialize and build sub modules

    cd OpenELIS-Global-2
    git submodule update --init --recursive
    cd dataexport
    mvn clean install -DskipTests
    

location: class org.itech.fhir.dataexport.core.service.impl.DataExportTaskServiceImpl

[

INFO

] 6 errors
[

INFO

] -------------------------------------------------------------
[

INFO

]

------------------------------------------------------------------------

[

INFO

]

Reactor Summary for Data Export 0.0.0.9:

[

INFO

]
[

INFO

] Data Export …

SUCCESS

[ 0.545 s]
[

INFO

] Data Export Core …

FAILURE

[ 3.345 s]
[

INFO

] Data Export API …

SKIPPED

[

INFO

]

------------------------------------------------------------------------

[

INFO

]

BUILD FAILURE

[

INFO

]

------------------------------------------------------------------------

[

INFO

] Total time: 4.210 s
[

INFO

] Finished at: 2026-09-09T16:04:38+02:00
[

INFO

]

------------------------------------------------------------------------

[

ERROR

] Failed to execute goal

org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile

(default-compile)

on project

dataexport-core

:

Compilation failure

: Compilation failure:
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[42,124] cannot find symbol
[

ERROR

] symbol: method getId()
[

ERROR

] location: variable dataEx​portTask of type org.itech.fhir.dataexport.core.model.DataExportTask
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[46,52] cannot find symbol
[

ERROR

] symbol: method getStartTime()
[

ERROR

] location: variable latestAttempt of type org.itech.fhir.dataexport.core.model.DataExportAttempt
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[48,17] cannot find symbol
[

ERROR

] symbol: variable log
[

ERROR

] location: class org.itech.fhir.dataexport.core.service.impl.DataExportTaskServiceImpl
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[57,115] cannot find symbol
[

ERROR

] symbol: method getId()
[

ERROR

] location: variable dataExportTask of type org.itech.fhir.dataexport.core.model.DataExportTask
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[60,52] cannot find symbol
[

ERROR

] symbol: method getStartTime()
[

ERROR

] location: variable latestAttempt of type org.itech.fhir.dataexport.core.model.DataExportAttempt
[

ERROR

] /home/ronald/Work/OpenELIS-Global-2/dataexport/dataexport-core/src/main/java/org/itech/fhir/dataexport/core/service/impl/DataExportTaskServiceImpl.java:[62,17] cannot find symbol
[

ERROR

] symbol: variable log
[

ERROR

] location: class org.itech.fhir.dataexport.core.service.impl.DataExportTaskServiceImpl
[

ERROR

] →

[Help 1]

[

ERROR

]
[

ERROR

] To see the full stack trace of the errors, re-run Maven with the

-e

switch.
[

ERROR

] Re-run Maven using the

-X

switch to enable full debug logging.
[

ERROR

]
[

ERROR

] For more information about the errors and possible solutions, please read the following articles:
[

ERROR

]

[Help 1]

[

ERROR

]
[

ERROR

] After correcting the problems, you can resume the build with the command
[

ERROR

]

mvn -rf :dataexport-core