# What is the problem
I have tried setting up an instance of the wikibase-docker container but I encountered a problem with the Wikidata Query Service GUI. In `http://localhost:8282/` I get the following error message in my browser's console: `CONFIG.getConfig is not a function`.
---
# Steps to reproduce it
I am trying to run the container on an Ubuntu virtual machine in VM VirtualBox inside a Windows 10 Host.
```
Windows version: 1809 (Build: 17763.503)
VM VirtualBox version: 6.0.8 r130520 (Qt5.6.2)y
Ubuntu version: Linux VirtualBox 4.15.0-45-generic #48-Ubuntu x86_64 x86_64 x86_64 GNU/Linux
```
what I have done:
```
lang=bash
git clone https://github.com/wmde/wikibase-docker.git
# commit ID when cloned 57f4d1509375ace2cef6e2c73210f3934895fb75
# repository state when cloned https://github.com/wmde/wikibase-docker/tree/57f4d1509375ace2cef6e2c73210f3934895fb75
cd wikibase-docker/
docker-compose pull
docker-compose up
```
I wait until I see the messages:
```
Got no real changes
Sleeping for 10 secs
```
so I assume every thing is ready.
However, when I go to `http://localhost:8282/`, The icon in top left is not loaded and the items on the left side bar do not exist, and in the console I found the following error: `CONFIG.getConfig is not a function`.
{F29268584, layout=left, float, size=full}
---
# Expected behaviour
A normal functioning page should appear just like the official [Query Service Page](https://query.wikidata.org/)
---
# What is (possibly) causing the problem.
Note: Since this docker container is a composition of a lot of repos and other containers, all of the links in the coming sections are permalinks to Github at the specific state when I encountered the problem. I will also state the commit ID when possible. All of this happened on the 28/05/2019.
Please excuse some of the naivety in my approach, I am a beginner when it comes to docker.
Checking the file `config.js` reveals that the function itself does not exist.
{F29268590, layout=left, float, size=full}
After some digging, I found out the the docker image for this is `wikibase/wdqs-frontend`.
Checking the [Dockerfile in wdqs-frontend](https://github.com/wmde/wikibase-docker/blob/57f4d1509375ace2cef6e2c73210f3934895fb75/wdqs-frontend/latest/Dockerfile) reveals the following:
```
lang=docker
# ...
ADD https://github.com/wikimedia/wikidata-query-gui/archive/master.zip ./master.zip
# Creates /wikidata-query-gui-master
RUN unzip master.zip && rm master.zip
# ...
COPY --from=fetcher /wikidata-query-gui-master /tmp/wikidata-query-gui-master
WORKDIR /tmp/wikidata-query-gui-master
# ...
COPY --from=builder /tmp/wikidata-query-gui-master /usr/share/nginx/html
RUN echo "" > style.css
COPY entrypoint.sh /entrypoint.sh
COPY config.js /templates/config.js
COPY default.conf /templates/default.conf
```
So the code for the actual GUI is in the repo `https://github.com/wikimedia/wikidata-query-gui` and it always downloads the most updated version of that repo.
However, the [config file in the wikidata-query-gui repo](https://github.com/wikimedia/wikidata-query-gui/blob/70ed8ec97f3aeb892dd99f5d9320232c41af95af/wikibase/config.js) does have the `getConfig()` method that is missing.
(commit for the link is `70ed8ec97f3aeb892dd99f5d9320232c41af95af`)
So going back to the [Dockerfile in wdqs-frontend](https://github.com/wmde/wikibase-docker/blob/57f4d1509375ace2cef6e2c73210f3934895fb75/wdqs-frontend/latest/Dockerfile), the last couple of lines do the following:
```
lang=docker
COPY entrypoint.sh /entrypoint.sh
COPY config.js /templates/config.js
# ...
ENTRYPOINT ["/entrypoint.sh"]
```
The script actually copies another [config.js file](https://github.com/wmde/wikibase-docker/blob/57f4d1509375ace2cef6e2c73210f3934895fb75/wdqs-frontend/latest/config.js) from `wdqs-frontend/latest`.
This file does not have the `getConfig()` function and looks like an older version of the other (valid) config.js file in wikidata-query-gui.
The copying is done to `/templates/config.js`. However, in the [entypoint.sh file](https://github.com/wmde/wikibase-docker/blob/57f4d1509375ace2cef6e2c73210f3934895fb75/wdqs-frontend/latest/entrypoint.sh) that is also copied, I found the following:
```
lang=bash
envsubst < /templates/config.js > /usr/share/nginx/html/wikibase/config.js
```
And when this script runs, it will override the valid config.js file with the invalid one.