dbpedia / chatbot

DBpedia Chatbot
https://chat.dbpedia.org
Apache License 2.0
105 stars 38 forks source link

Docker image crashes #40

Open Outstep opened 4 years ago

Outstep commented 4 years ago

Hello,

I was trying to build the Docker version of the chatbot but it crashes out:


chatbot$ docker run --tty --publish 8080:8080 --name "chatbot" chatbot The error seems to be:

java.lang.IllegalArgumentException: Could not resolve placeholder 'chatbot.slack.botToken' in value "${chatbot.slack.botToken}"

But not sure what that means.

Can you please help? Thanks in advance

UPDATE: I have now installed Java 8 JDK and Maven 3.3 as per the Docker setup so that I can run it natively outside of Docker on the system and have attached the error from that attempt lower in this message list.

RicardoUsbeck commented 4 years ago

@ram-g-athreya can help here

RicardoUsbeck commented 4 years ago

Can you try to use a dummy config file https://github.com/dbpedia/chatbot/wiki/Chatbot-Dummy-Configuration

Outstep commented 4 years ago

Hello, I used the default Dummy-Configuration for the file and test since I do not have any actual keys yet and just to see if I can get the basic dbpedia chatbot to compile up and show something,

---------------configuration file " application.properties" in the src/main/resources" ------------- admin.username = admin admin.password = password

chatbot.baseUrl = http://localhost:8080

chatbot.fb.appSecret = secret chatbot.fb.verifyToken = token chatbot.fb.pageAccessToken = access-token chatbot.slack.botToken = slack-token

cloudant.url = http://dbpedia-chatbot-couchdb cloudant.username = username cloudant.password = password cloudant.chatDB = chatDB cloudant.feedbackDB = feedbackDB cloudant.explorerDB = explorerDB

tmdb.apiKey = tmdb-key

wolfram.apiKey = wolfram-key

It seemed to compile (at least in the Docker build) and then I started it up and went to the localhost address

http://localhost:8080

and got this message now:


Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Apr 29 12:21:03 UTC 2020 There was an unexpected error (type=Internal Server Error, status=500). Could not resolve placeholder 'chatbot.gaID' in value "${chatbot.gaID}"

Also tried adding "chatbot.gaID=gaID" to the configuration file as well, but that did not work either.

Maybe I need actual keys before it will come up? Cheers

Outstep commented 4 years ago

Hello,

I installed Maven and tried the manual build with Java but also got the same crash even after adding in the dummy.configuration

See attached file. chatbotErrors.txt

Outstep commented 4 years ago

Hi All,

I just tried to compile things on a resh Debian 9 with Java 11 JDK and Maven installed via "apt"

Added the "Dummy Configuration" to "src/main/resources/application.properties" (https://github.com/dbpedia/chatbot/wiki/Chatbot-Dummy-Configuration)

In a non-docker environment, but have these errors now (See attached error file) newTestErrors.txt

Also installed npm from "apt" as well.

lonnie@vmi208816:~/dbpedia-chatbot/chatbot$ java -version openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)

lonnie@vmi208816:~/dbpedia-chatbot/chatbot$ mvn -version Apache Maven 3.6.0 Maven home: /usr/share/maven Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"

lonnie@vmi208816:~/dbpedia-chatbot/chatbot$ npm -version 3.5.2

Outstep commented 4 years ago

One more question that I have here.

Does the chatbot require Couchdb to be installed and setup as well?

Thanks for any help that can be provided to get the base chatbot functioning as in the demo.

All help is truly apprciated.

RicardoUsbeck commented 4 years ago

Hi @Outstep, we are currently looking into it. Please give us some more time

Outstep commented 4 years ago

No worries and I was just updating what I found in my investigations.

Did not mean to push on this. Thanks

On Fri, May 1, 2020 at 2:40 PM Ricardo Usbeck notifications@github.com wrote:

Hi @Outstep https://github.com/Outstep, we are currently looking into it. Please give us some more time

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dbpedia/chatbot/issues/40#issuecomment-622510500, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF4TCHTLNVTEQVSIQXTMP43RPMJQNANCNFSM4MTG2RLQ .

ram-viv-labs commented 4 years ago

One more question that I have here.

Does the chatbot require Couchdb to be installed and setup as well?

Thanks for any help that can be provided to get the base chatbot functioning as in the demo.

All help is truly apprciated.

Hi @Outstep

Yes CouchDB is required for the chatbot and the corresponding configuration needs to be properly set up as part of the cloudant.* variables. Please give me some time to troubleshoot the issue you are facing.

Outstep commented 4 years ago

Hello,

Thanks for the information on this and originally I did not know if you were researching it so I continued to try and troubleshoot the everything myself.

Basically, I started with a fresh clean Debian 9 system and then installed each needed component. I did not install CouchDB yet since I had used the dummy configuration just to see if it would compile.

Sorry to seem as though I was pushing on it as now I know that you are looking into more and will wait to see what you find.

It's a great project and I am looking to maybe use it as the core to build on for something that I have in mind going forward. Thanks again and have a great weekend.

On Fri, May 1, 2020 at 3:12 PM Ram G Athreya notifications@github.com wrote:

One more question that I have here.

Does the chatbot require Couchdb to be installed and setup as well?

Thanks for any help that can be provided to get the base chatbot functioning as in the demo.

All help is truly apprciated.

Hi @Outstep https://github.com/Outstep

Yes CouchDB is required for the chatbot and the corresponding configuration needs to be properly set up as part of the cloudant.* variables. Please give me some time to troubleshoot the issue you are facing.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dbpedia/chatbot/issues/40#issuecomment-622522758, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF4TCHTJDY5ONLEXAWUEOPTRPMNJHANCNFSM4MTG2RLQ .

ram-viv-labs commented 4 years ago

Hi @Outstep

Thanks for your interest in the project. It is quite modular but the DB is a hard requirement. As you can see here we try to connect to CouchDB on startup:

https://github.com/dbpedia/chatbot/blob/master/src/main/java/chatbot/Application.java#L117-L119

Its been some time since I actually ran it locally so I need some time to brush up on the details.

Anirban6756 commented 9 months ago

It looks like the error is related to Spring Boot and its property resolution. The error message indicates that it couldn't find the value for the property 'chatbot.slack.botToken' in your configuration.

Here are a few steps to troubleshoot this issue:

Check Configuration Files: Ensure that you have a configuration file, possibly application.properties or application.yml, where the property chatbot.slack.botToken is defined. If you are using Docker, make sure that the configuration file is included in your Docker image or mounted correctly.

Property Placeholder Resolution: Ensure that your property placeholder syntax is correct. In Spring Boot, it should be something like ${chatbot.slack.botToken}. Double-check the syntax in your configuration file.

Environment Variables: If you are using environment variables for configuration, make sure that the environment variable CHATBOT_SLACK_BOT_TOKEN (or a similar name based on your property) is set.

Docker Image Configuration: If you are using Docker, ensure that the configuration file is included in the Docker image. If you mount a volume, make sure that the file is available in the specified path inside the container.

Here's an example of what your application.properties file might look like:

properties Copy code

application.properties

chatbot.slack.botToken=your_actual_bot_token_here And if you prefer using environment variables:

properties Copy code

application.properties

chatbot.slack.botToken=${CHATBOT_SLACK_BOT_TOKEN} In your Docker setup, ensure that this file is either included in your Docker image or mounted correctly.