Skip to content

Commit 652cd50

Browse files
committed
Dockerize and add README
1 parent f049537 commit 652cd50

File tree

7 files changed

+82
-6
lines changed

7 files changed

+82
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
env.sh

Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM ruby:2.5.5
2+
3+
RUN gem install bundler && mkdir /app
4+
5+
COPY Gemfile /app/
6+
COPY Gemfile.lock /app/
7+
WORKDIR /app
8+
RUN bundle install
9+
10+
COPY common.rb /app/
11+
COPY env.sh /app/
12+
COPY lita_config.rb /app/
13+
COPY entrypoint.sh /entrypoint.sh
14+
15+
CMD [ "/entrypoint.sh" ]

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Configurer sudo
2+
Il y a des variables d'environnement à configurer pour faire fonctionner `sudo`.
3+
4+
## 1. Créer env.sh
5+
Les variables d'environnement sont passées à `sudo` avec le fichier `env.sh`.
6+
7+
> **Ces variables sont sensibles, donc il ne faut absolument pas les commit dans le repo.**
8+
> **Gardez toujours env.sh dans le `.gitignore`!**
9+
10+
Le fichier `env.sh.example` est un template de fichier `env.sh`. Copiez le vers `env.sh`. Vous allez ensuite devoir remplir les valeurs.
11+
12+
## 2. SLACK_TOKEN
13+
C'est le token Slack de l'intégration. Vous pouvez le trouver dans la page de configuration de l'application Lita dans les paramètres du Slack. Si vous n'arrivez pas à lire le token Slack, vous pouvez détruire la configuration de Lita actuelle et en créer une autre.
14+
15+
## 3. CSE_ID
16+
C'est l'identifiant unique du Google Custom Search Engine utilisé pour les recherches d'images (`sudo image ...`). Il y en a un déjà créé sur le compte Google de la DCI. Vous pouvez le trouver [sur le site de CSE](https://cse.google.com/cse/all), il s'appelle Google Images. La valeur que vous devez mettre dans `CSE_ID` est le "Search engine ID".
17+
18+
### Création d'un nouveau CSE
19+
Si jamais vous devez créer un nouveau CSE, voici comment faire:
20+
21+
1. [Créer un nouveau search engine](https://cse.google.com/cse/all)
22+
2. Entrer une URL bidon comme `perdu.com`
23+
3. Donner un nom au search engine et appuyer sur Create
24+
4. Aller dans le panneau de configuration du search engine
25+
5. Mettre "Image Search" à ON
26+
6. Mettre "Search the entire web" à ON
27+
28+
## 4. GOOGLE_API_KEY
29+
La dernière valeur à insérer est la clé d'API Google, utilisée pour Youtube et CSE. Le projet est déjà créé sur le compte Google de la DCI.
30+
31+
1. [Allez sur la console de développeurs Google](https://console.developers.google.com)
32+
2. Assurez-vous d'être sur le projet sudo qui a une clé d'API Custom Search et Youtube Data API v3
33+
3. Cliquez sur identifiants dans le menu à gauche et copiez la clé d'API dans le fichier `env.sh`
34+
35+
### Création d'un projet Google
36+
Si jamais vous avez besoin de créer un nouveau projet Google pour sudo:
37+
38+
1. Créez un projet sur la console de développeurs Google
39+
2. Ajoutez Youtube Data API v3 aux APIs du projet
40+
3. Créez un identifiant pour l'API de YouTube pour obtenir une clé d'API
41+
4. Ajoutez Custom Search API aux APIs du projet
42+
5. Créez un compte pour Custom Search API. Vous pouvez donner le rôle Projet > Lecteur.
43+
6. Cliquez sur identifiants dans le menu à gauche et copiez la clé d'API dans le fichier `env.sh`
44+
45+
# Rouler sudo avec Docker et Docker Compose
46+
Une fois sudo configuré, vous pouvez simplement faire `compose up -d` à la racine du repo et ça devrait marcher!

docker-compose.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: "3"
2+
services:
3+
redis:
4+
image: redis
5+
6+
sudo:
7+
build: .
8+
links:
9+
- "redis"

entrypoint.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
source /app/env.sh
4+
exec bundle exec lita start

env.sh.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export SLACK_TOKEN=""
2+
export CSE_ID=""
3+
export GOOGLE_API_KEY=""

lita_config.rb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22

33
Lita.configure do |config|
44
config.robot.name = "sudo"
5-
65
config.robot.log_level = :debug
7-
8-
config.robot.admins = [ENV['SLACK_ADMIN_ID']]
9-
6+
config.robot.admins = []
107
config.robot.adapter = :slack
8+
119
config.adapters.slack.token = ENV['SLACK_TOKEN']
1210

13-
config.redis[:url] = ENV["REDISTOGO_URL"]
14-
config.http.port = ENV["PORT"] || 3000
11+
config.redis[:host] = "redis"
12+
config.http.port = 3000
1513

1614
config.handlers.google_images.google_cse_id = ENV['CSE_ID']
1715
config.handlers.google_images.google_cse_key = ENV['GOOGLE_API_KEY']

0 commit comments

Comments
 (0)