Installer taskcafe
Taskcafe es une webapp kanban. J'ai vu un screenshot sur Discord et j'ai ressenti un besoin irrésistible de l'installer. Donc voici comment l'installer de A à Z.
Installation des dépendences
Les dépendences de taskcafe sont pour le moins... spéciales... J'ai installé nvm pour installer node et npm pour installer yarn pour utiliser go pour installer taskcafe.
Donc commençons, tout d'abord on va installer go
Maintenant on va installer node.js
et npm
Enfin, on peux installer yarn
Installer à partir du code source
Tout d'abord il faut télécharger le code source.
Ensuite on peux installer le tout avec go
(qui va lui même utiliser yarn
)
Notez que la deuxième commande est très consomatrice de RAM et qu'elle peux durer un certain moment.
Mise en place de la base de donnée
Tout d'abord il faut installer postgresql
Maintenant on peut créer notre base de donnée et l'utilisateur
;
;
;
;
On peut maintenant configurer les variables et migrer la base de donnée.
TASKCAFE_DATABASE_PASSWORD="<some password>"
Configuration du DNS et HTTPS
Tout d'abord on va créer un nouveau sous-domaine
Domaine | TTL | Type | Target |
---|---|---|---|
tasks.domain.tld | 0 | A | <ipv4> |
tasks.domain.tld | 0 | AAAA | <ipv6> |
Maintenant on peut certifier le domaine avec HTTPS
Configuration nginx
On peut maintenant ouvrir un nouveau fichier de configuration pour le nom de domaine.
Et copier-coller la configuration suivante
server {
listen 80;
listen [::]:80;
server_name tasks.domain.tld;
return 301 https://tasks.domain.tld$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
include /etc/nginx/snippets/letsencrypt.conf;
server_name tasks.domain.tld;
location / {
proxy_pass http://127.0.0.1:3333;
proxy_set_header Host $host;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /;
proxy_buffering off;
}
ssl_certificate /etc/letsencrypt/live/tasks.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tasks.domain.tld/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/tasks.domain.tld/fullchain.pem;
access_log /var/log/nginx/tasks.domain.tld.access.log;
error_log /var/log/nginx/tasks.domain.tld.error.log;
}
Enfin on va ajouter la configuration dans les sites activés.
Lancer le tout proprement
On peut maintenant créer un nouveau script dans le dossier taskcafe
Et voici le code du script
#!/bin/bash
TASKCAFE_DATABASE_PASSWORD="<password>"
Ensuite il faut juste le définir comme exécutable
On va maintenant créer un nouveau service systemd.
Et coller la configuration suivante :
[Unit]
Description=Taskcafe
After=network.target
[Service]
Restart=always
RestartSec=1
ExecStart=/path/to/taskcafe/start
[Install]
WantedBy=multi-user.target
Enfin, il suffit de lancer le service
Le site devrait être disponible à l'addresse : tasks.domain.tld
Merci de m'avoir lu 😀