Installer Planka avec Docker
Planka

Installer Planka avec Docker

Table des matières

Aujourd'hui je voudrais remercier lakazz pour cette suggestion. Mes amitiés à toi.

GitHub - plankanban/planka: The realtime kanban board for workgroups built with React and Redux.
The realtime kanban board for workgroups built with React and Redux. - plankanban/planka

Planka est, comme dit dans la description, une application de suivi de projet collaboratif vraiment clean et fluide de type kanban.

Il vaut vraiment le coup d’œil!

⚡Caractéristiques

  • Créez des projets, des tableaux, des listes, des cartes, des étiquettes et des tâches.
  • Ajoutez des membres de carte, suivez le temps, définissez des dates d'échéance, ajoutez des pièces jointes, rédigez des commentaires.
  • Prise en charge des démarques dans la description et les commentaires de la carte.
  • Filtrer par membres et labels.
  • Personnaliser les arrière-plans du projet.
  • Mises à jour en temps réel.
  • Notifications internes.
  • Plusieurs langues d'interface.
  • Authentification unique via OpenID Connect.

L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous voulez installer Planka:
sudo nano docker-compose.yml
  1. En prévision de l'étape suivant, générez une clé:
openssl rand -hex 64

Ce qui donne:

  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: '3'

services:
  planka:
    image: ghcr.io/plankanban/planka:latest
    restart: on-failure
    volumes:
      - ./user-avatars:/app/public/user-avatars
      - ./project-background-images:/app/public/project-background-images
      - ./attachments:/app/private/attachments
    ports:
      - 3500:1337
    environment:
      - BASE_URL=http://192.168.1.152:3500
      - DATABASE_URL=postgresql://postgres@postgres/planka
      - SECRET_KEY=notsecretkey

      # - TRUST_PROXY=0
      # - TOKEN_EXPIRES_IN=365 # In days

      # related: https://github.com/knex/knex/issues/2354
      # As knex does not pass query parameters from the connection string we
      # have to use environment variables in order to pass the desired values, e.g.
      # - PGSSLMODE=<value>

      # Configure knex to accept SSL certificates
      # - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false

      - DEFAULT_ADMIN_EMAIL=zarev@belginux.com
      - DEFAULT_ADMIN_PASSWORD=goldorak
      - DEFAULT_ADMIN_NAME=Peter Falk
      - DEFAULT_ADMIN_USERNAME=zarev

      # - OIDC_ISSUER=
      # - OIDC_CLIENT_ID=
      # - OIDC_CLIENT_SECRET=
      # - OIDC_SCOPES=openid email profile
      # - OIDC_ADMIN_ROLES=admin
      # - OIDC_EMAIL_ATTRIBUTE=email
      # - OIDC_NAME_ATTRIBUTE=name
      # - OIDC_USERNAME_ATTRIBUTE=preferred_username
      # - OIDC_ROLES_ATTRIBUTE=groups
      # - OIDC_IGNORE_USERNAME=true
      # - OIDC_IGNORE_ROLES=true
      # - OIDC_ENFORCED=true

      # Email Notifications (https://nodemailer.com/smtp/)
      # - SMTP_HOST=
      # - SMTP_PORT=587
      # - SMTP_SECURE=true
      # - SMTP_USER=
      # - SMTP_PASSWORD=
      # - SMTP_FROM="Demo Demo" <demo@demo.demo>

      # - SLACK_BOT_TOKEN=
      # - SLACK_CHANNEL_ID=
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:14-alpine
    restart: on-failure
    volumes:
      - ./db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=planka
      - POSTGRES_HOST_AUTH_METHOD=trust
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
      interval: 10s
      timeout: 5s
      retries: 5

Veillez à changer:

  • BASE_URL=http://192.168.1.152:3500 => remplacez l'ip 192.168.1.152 par celle de votre serveur ou votre nom de domaine.
  • SECRET_KEY=notsecretkey => indiquez la clé générée à l'étape précédente.
  • DEFAULT_ADMIN_EMAIL=zarev@belginux.com => indiquez votre propre e-mail.
  • DEFAULT_ADMIN_PASSWORD=goldorak => choisissez un mot de passe pour votre compte administrateur.
  • DEFAULT_ADMIN_NAME=Peter Falk => choisissez le nom affiché dans Planka
  • DEFAULT_ADMIN_USERNAME=zarev => choisissez le nom d'utilisateur du compte administrateur.

Si vous souhaitez activer la partie mail, décommenter (retirer les #) les lignes suivantes:

  • - SMTP_HOST=smtp.gmail.com
  • - SMTP_PORT=587
  • - SMTP_SECURE=true
  • - SMTP_USER=votreadresse@gmail.com
  • - SMTP_PASSWORD=votre_mot_de_passe_créé
  • - SMTP_FROM="zarev" votreadresse@gmail.com

Et complétez les informations pour le serveur mail, soit avec votre propre serveur mail, ou suivez ce tutoriel si vous voulez utiliser Gmail (obligation de créer un mot de passe spécifique), Outlook,...

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d

Dans le dossier ou vous avez installé Planka, un petit chown (changement propriétaire/groupe) sur 3 dossiers afin de pouvoir écrire dedans.

Il faudra indiquer votre ID dans la commande.
Comment connaître son ID? En tapant id dans votre terminal:

Maintenant faites la commande avec votre ID pour le dossier project-background-images:

sudo chown -R 1000:1000 project-background-images

On fait pareil pour le dossier user-avatars:

sudo chown -R 1000:1000 user-avatars

Et pour terminer avec le dossier attachments:

sudo chown -R 1000:1000 attachments
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3500 par défaut:
http://ip:3500/

ou votre domaine:

https://votredomaine.com

Première connexion

Indiquez votre nom d'utilisateur (et pas le mail) et votre mot de passe (ici en clair car j'ai cliqué sur l'icône pour l'afficher). Cliquez ensuite sur Se connecter:

Vous voici sur votre tableau de bord:


Personnaliser son compte

Avant de rentrer dans le vif du sujet, personnalisons notre compte.

Cliquez en haut à droite sur votre nom complet et choisissez Réglages:

Cliquez sur l'icône par défaut et indiquez-lui votre logo, image de profil:

Ce qui donne:

Ensuite indiquez les informations souhaités et cliquez sur Sauvegarder quand c'est fini:

Dans Préférences vous pouvez décider de vous abonner à vos propres cartes:


Créer un projet

Maintenant le vif du sujet! Créer un projet! Cliquez sur Créer un projet:

Nommez votre projet et validez le nom du projet en cliquant sur ✔️ Créer un projet:

Personnalisons un peu le projet, cliquez sur le crayon en haut à gauche, sur votre projet:

Dans la partie Background, vous avez des images de fond ou vous pouvez importer la vôtre. Je vais importer la mienne en cliquant sur Télécharger une nouvelle image:

Et voilààààà:

Ce qui donne:

Toujours dans la personnalisation du projet, vous pouvez ajouter un manager sur le projet:

Et dans Général, supprimer le projet si nécessaire:


Créer un tableau

Première étape pour réellement donner forme à votre projet, créer un tableau:

Sous le nom du projet, cliquez sur + et nommez votre tableau, cliquez sur Créer un tableau:

Et j'ai créé d'autres tableaux dans la foulée. Podcasts & vidéos:


Ajouter une liste

Maintenant je voudrais travailler sur Tutoriel, je clique dessus, ensuite sur + Ajouter la liste:

Je nomme cette liste Jellyfin:


Ajouter une carte

Je vais maintenant ajouter une carte en cliquant sur + Ajouter une carte:

Je vais ajouter une carte Tutoriel:

La carte est donc crée:

Cliquons sur cette carte pour voir ce qu'elle permet:

Vous pouvez ajouter une description, ajouter des tâches, de voir l'historique des actions, ajouter des membres, des étiquettes,...

J'ai donc ajouté des étapes pour m'aider à la création du tutoriel:

Vous pouvez remarquer cette barre de progression qui va évoluer suivant ce que vous avez coché comme tâches terminées:

Et en un coup d’œil, du tableau de bord, vous pouvez voir la progression:

Comme tout projet, il y a une date d'échéance, que vous pouvez bien entendu configurer:

Ce qui donne:

Cette information est également visible en un coup d’œil;

La prise en main est relativement rapide et intuitive après quelques minutes passées à explorer Planka.

Vous pouvez bien entendu travailler sur plusieurs projets en même temps:

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer