Docker compose hubot rocketchat适配器不工作

Docker compose hubot rocketchat适配器不工作,docker-compose,hubot,rocket.chat,Docker Compose,Hubot,Rocket.chat,我在Digitalocean droplet(Ubuntu)上安装了rocket.chat和hubot,现在我正在尝试让hubot说话: 当我跑步时: hubot-火箭帽 我得到: 错误无法加载适配器rocketchat-错误:找不到模块“hubot rocketchat” 原因可能是什么 这是我的docker-compose.yml: db: image: mongo volumes: - ./data/runtime/db:/data/db - ./data/dump

我在Digitalocean droplet(Ubuntu)上安装了rocket.chat和hubot,现在我正在尝试让hubot说话:

当我跑步时:

hubot-火箭帽

我得到:

错误无法加载适配器rocketchat-错误:找不到模块“hubot rocketchat”

原因可能是什么

这是我的docker-compose.yml:

db:
  image: mongo
  volumes:
    - ./data/runtime/db:/data/db
    - ./data/dump:/dump
  command: mongod --smallfiles

rocketchat:
  image: rocketchat/rocket.chat:latest
  environment:
    - MONGO_URL=mongodb://db:27017/rocketchat
    - ROOT_URL=https://xxxxxxxxx:3000
    - Accounts_UseDNSDomainCheck=True
  links:
    - db:db
  ports:
    - 3000:3000

hubot:
  image: rocketchat/hubot-rocketchat:v0.1.4 # rocketchat/hubot-    rocketchat
  environment:
    - ROCKETCHAT_URL=http://xxxxxxx:3000
    - ROCKETCHAT_ROOM=
    - LISTEN_ON_ALL_PUBLIC=true
    - ROCKETCHAT_USER=alicja
    - ROCKETCHAT_PASSWORD=xxxxx
    - BOT_NAME=alicja
    - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-    greetings, example.coffee
  links:
    - rocketchat:rocketchat
# this is used to expose the hubot port for notifications on the host     on port 3001, e.g. for hubot-jenkins-notifier
  ports:
    - 3001:8080
编辑:

我使用docker compose重新安装了hubot和rocket.chat,现在看起来机器人已经连接到rocket chat(绿灯),但它没有响应(尝试@botname help)

这是我的docker-compose.yml:

db:
  image: mongo
  volumes:
    - ./data/runtime/db:/data/db
    - ./data/dump:/dump
  command: mongod --smallfiles

rocketchat:
  image: rocketchat/rocket.chat:latest
  environment:
    - MONGO_URL=mongodb://db:27017/rocketchat
    - ROOT_URL=https://xxxxxxxxx:3000
    - Accounts_UseDNSDomainCheck=True
  links:
    - db:db
  ports:
    - 3000:3000

hubot:
  image: rocketchat/hubot-rocketchat:v0.1.4 # rocketchat/hubot-    rocketchat
  environment:
    - ROCKETCHAT_URL=http://xxxxxxx:3000
    - ROCKETCHAT_ROOM=
    - LISTEN_ON_ALL_PUBLIC=true
    - ROCKETCHAT_USER=alicja
    - ROCKETCHAT_PASSWORD=xxxxx
    - BOT_NAME=alicja
    - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-    greetings, example.coffee
  links:
    - rocketchat:rocketchat
# this is used to expose the hubot port for notifications on the host     on port 3001, e.g. for hubot-jenkins-notifier
  ports:
    - 3001:8080

提前感谢您的帮助

编辑2

嗯。胡伯特上来了。我必须改变:

image: rocketchat/hubot-rocketchat:v0.1.4
致:

在.yml的hubot部分

显然,当rocketchat图像rocketchat图像与hubot图像不同时会出现问题(DUH…)

但我如何为hubot服务,从docker compose开始?例如。在何处(文件夹位置),我是否应该运行npm安装[script name]将其添加到hubot?.yml文件所在的文件夹是否相同


如何定制脚本?它们在哪里?

上面有两个问题:

  • 如何运行hubot

    • 更改docker-compose.yml,其中显示
      -ROCKETCHAT\u URL=xxx.xxx.xxx:3000
      将其更改为
      -ROCKETCHAT\u URL=ROCKETCHAT:3000
      。您应该通过容器中的链接连接到hubot

    • 事实上,您应该使用0.37以上的Rocket.Chat版本的
      hubot rocketchat:latest

  • 如何使用自己的脚本进行自定义

    • 您必须将卷从主机映射到容器。您可以通过将
      卷:
      添加到docker-compose.yml中来实现这一点。如果您的自定义脚本位于与docker-compose.yml相同的目录下的
      scripts
      文件夹中,您可以这样添加它:

my docker-compose.yml的示例可在此处找到:

您如何运行hubot?如果它在docker-compose.yml中,则在执行
docker compose up
时,它会自动出现。你能检查一下日志吗?我删除了我以前的评论并编辑了上面的问题。聊天开始了,胡伯特也开始了,但也没有回应。我如何查看日志?非常感谢。Docker compose终于开始对我有意义了。慢慢地,但仍然。。。还有一个问题。我可以编辑docker-compose.yml外部脚本部分中的脚本吗?如果是,我在哪里可以找到它们?或者我应该重写它们并在npm中发布,然后导入它们吗?不管怎样,你真的帮了我胡伯特的忙。感谢您的快速回复。我从未尝试过在容器内编辑文件。就我个人而言,我认为最好的方法是将它添加到您的自定义脚本文件夹中,然后从上面的列表中删除。当然,最简单的方法是添加从列表中删除并放入脚本。尽管我会说。。如果您正在进行改进,最好是向上游打开一个对该包的请求,以便其他人可以从您的更改中受益:)嗨,我已经用rocket chat设置了hubot。并成功连接。但它没有回应我。我贴了另一个同样的问题
  volumes:
    - ./scripts:/home/hubot/scripts