meta données pour cette page
Gestionnaire des tâches en todolist
Code source : https://github.com/plankanban/planka
Développé par Maksim Eltyshev
En espérant que ça restera un logiciel simple.
Installation
Voici la procédure d'installation.
Dans un premier lieu, on a besoin de NodeJs, NPM et quelques dépendances système :
curl -sL https://deb.nodesource.com/setup_14.x | bash - apt-get install -y nodejs postgresql libexif-dev libpng-dev libwebp-dev
On copie le code source en s'y déplaçant dedans :
su - mon-compte-courrant git clone https://github.com/plankanban/planka.git cd planka
On génère un numéro au hasard pour rendre l'instance unique:
openssl rand -hex 64
Qui devrait ressembler à ceci:
45f560c2d477e445f560c2d477e4d377eb34c149de65afad1964c42527b3f8d6c87999fb4eb61b4b3648bb1dd6e60284a68d1de6ba056d3c4350c60f344d9e868e8a93643e0f3dd377eb34c149de65afad1964c42527b3f8d6c87999fb4eb61b4b3648bb1dd6e60284a68d1de6ba056d3c4350c60f344d9e868e8a93643e0f3d
On renseigne ensuite dans le fichier suivant les informations concernant l'URL de base (BASE_URL), la clé secrête (SECRET_KEY) et l'url de la base de donné (DATABASE_URL) avec le bon mot de passe :
cat .env
TZ=UTC BASE_URL=https://todo.autarcie.org DATABASE_URL=postgresql://planka:$MDP-COMPTE-POSTGRES@localhost:5432/planka SECRET_KEY=$OUTPUT_OF_OPENSSL_RAND
On installe les dépendances node et on construit l'application :
npm install npm@latest nodemon npm install --prod --prefix server npm install --prefix client npm run build --prefix client
On copie les ressources dans le dossier parent :
cp -r server/* . cp -r server/.* . cp -r client/build/* public/ cp client/build/index.html views/
On créer le compte et la base de donnée sur postgresql :
su - postgres -c "createuser -P planka" su - postgres -c "createdb -O planka planka"
On indique que l'on souhaite que le compte puisse s'authentifier par mot de passe en y ajoutant la seconde ligne:
vim /etc/postgresql/11/main/pg_hba.conf
local planka planka password
Si la syntaxe est correcte, alors on recharge la configuration:
systemctl reload postgresql
On augmente les privilèges sur sa propre base:
su - postgres -c "psql -U planka -W" GRANT ALL PRIVILEGES ON DATABASE planka TO planka;
Il reste à importer en base la structure et quelques informations:
node db/init.js
On peut enfin lancer l'application :
REACT_APP_SERVER_BASE_URL=https://todo.autarcie.org NODE_ENV=production npm start --prod
Il reste plus qu'a mettre un service web (nginx, apache, haproxy, …) devant pour qu'il soit accéssible sur le port 80. Notons qu'une mise en place d'une unité systemd serait également le bienvenu pour faciliter les redémarrages.
Problèmes
- Changer le mot de passe d'un compte utilisateur :
Il y a besoin de htpassword soit du paquet suivant :
apt install apache2-utils MDP="mon-mot-de-passe" htpasswd -bnBC 10 "" $MDP | tr -d ':\n' |sed 's/$2y/$2b/'
Il reste plus qu'a se connecter à la bonne base :
psql -l psql -U planka > \d > \d user_account > select name,username,email,password from user_account; > update user_account set password = 'MDP' where email='mon@compte.mail';