2016-10-05 2 views
1

J'ai installé rocket.chat et Hubot sur une goutte Digital Ocean (Ubuntu) et maintenant je suis en train de faire parler de Hubot:Hubot adaptateur rocketchat ne fonctionne pas

quand je lance:

hubot -a rocketchat

Je reçois:

ERROR Cannot load adapter rocketchat - Error: Cannot find module 'hubot-rocketchat'

Quelle peut être la raison de cela?

Voici mon 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 

EDIT:

Je réinstallée à la fois Hubot et rocket.chat utilisant docker-Compose et il ressemble maintenant bot est connecté à la roquette -chat (voyant vert), mais il ne répond pas (en essayant l'aide @botname).

Encore une fois, voici mon docker-compose.yml:

http://pastebin.com/rYrRGqfz

Merci à l'avance pour toute aide.

EDIT 2

OK. hubot est en hausse. Je devais changer:

image: rocketchat/hubot-rocketchat:v0.1.4 

à:

image: rocketchat/hubot-rocketchat:latest 

en partie Hubot de .yml

Apparemment, il y a un problème quand l'image imagée rocketchat rocketchat image_and de _hubot sont différents (DUH ...

Mais encore comment est-ce que je fais le service hubot a commencé avec docker-composer? Par exemple. Où (emplacement du dossier), devrais-je lancer npm install [nom du script] pour l'ajouter à hubot? Le même dossier dans lequel se trouve le fichier .yml?

Comment personnaliser les scripts? Où sont-ils situés?

+0

Comment utilisez-vous hubot? Si c'est dans votre docker-compose.yml, il devrait automatiquement apparaître quand vous faites un docker-compose up. Pouvez-vous vérifier les journaux? –

+0

J'ai supprimé mon commentaire précédent et modifié ma question ci-dessus. Rocket.Chat est jusqu'à Hubot est également en hausse, mais ne répond pas. Comment puis-je vérifier les journaux? –

Répondre

3

Il y a deux questions ci-dessus:

  • Comment exécuter Hubot

    • Modifier votre docker-compose.yml, où il est dit - ROCKETCHAT_URL=xxx.xxx.xxx.xxx:3000 changement à - ROCKETCHAT_URL=rocketchat:3000. Vous devez vous connecter à hubot via le lien dans les conteneurs.

    • En effet, vous devriez utiliser hubot-rocketchat:latest avec Rocket.Chat version ci-dessus 0.37

  • Comment personnaliser avec vos propres scripts

    • Vous devez mapper un volume de votre hôte à votre conteneur. Vous pouvez le faire en ajoutant volumes: à votre docker-compose.yml. Si vous aviez vos scripts personnalisés dans un dossier scripts, dans le même répertoire que docker-compose.yml, vous ajouteriez comme ceci:
volumes: 
    - ./scripts:/home/hubot/scripts 

L'échantillon pour mon docker-compose.yml peut être trouvé ici: http://pastebin.com/KKX0Kuma

+0

Merci beaucoup. Docker-compose commence à avoir du sens pour moi enfin. Lentement, mais toujours ... Encore une question. Puis-je modifier les scripts qui se trouvent dans la section EXTERNAL_SCRIPTS de docker-compose.yml? Si oui, où puis-je les trouver? Ou devrais-je les réécrire et les publier dans npm, puis les importer? En tout cas, vous avez été très utile dans mon expérience hubot. Merci pour les réponses rapides. –

+0

Je n'ai jamais essayé d'éditer des fichiers dans le conteneur. Personnellement, je pense que le meilleur moyen serait de l'ajouter à votre dossier de scripts personnalisés et de supprimer de la liste ci-dessus. –

+1

La manière la plus simple est d'ajouter supprimer de la liste et mettre dans les scripts. Bien que je dirais .. si vous faites des améliorations, le mieux serait d'aller en amont et d'ouvrir une demande de traction sur ce paquet, afin que d'autres puissent bénéficier de vos changements :) –