Installer Poznote avec Docker
Poznote

Installer Poznote avec Docker

Table des matières

GitHub - timothepoznanski/poznote: Poznote is a lightweight, open-source personal note-taking and documentation platform.
Poznote is a lightweight, open-source personal note-taking and documentation platform. - timothepoznanski/poznote
Cette idée m'a été à nouveau été suggérée par Titux, merci à lui ! 😁

Prendre des notes, créer des listes, de la documentation. Un besoin réel partagé par de nombreuses personnes, pas étonnant de voir fleurir une diversité d'applications sur le sujet. Sous les conseils de Titux, j'ai testé Poznote.

Aujourd'hui nous allons parler de... Poznote ! Restons logique. Une application pour créer des notes, des listes, organiser le tout sous forme de dossier. Son éditeur de texte permet tout ce qu'on peut attendre d'une application de prise de note moderne : fichier joint, un diagramme, des images, des liens,...

Sa consommation en ressources est faible, son utilisation est facile.


⚡ Caractéristiques

  • Éditeur de texte enrichi.
  • Recherche avancée.
  • Système de tags.
  • Pièces jointes.
  • Design responsive (adaptatif).
  • Auto-hébergé.
  • OpenID Connect.
  • Multi-instances.
  • Espaces de travail.
  • Sauvegarde intégrée.
  • Corbeille.
  • API REST.
  • Partage public.
  • Liste de tâches.
  • Notes en Markdown.
  • Mode sombre.
  • Intégration Excalidraw.
  • Diagrammes Mermaid.
  • Rendu des formules mathématiques.
  • Serveur MCP.

💾 Installation

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.

Étapes d'installation

  1. Téléchargez le docker-compose.yml dans le dossier où vous comptez installer Poznote :
curl -o docker-compose.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.yml

Faites de même pour le fichier .env :

curl -o .env https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.example

Il faut maintenant éditer le fichier .env :

nano .env

Configurez au minimum :
N'hésitez pas à configurer les autres options pour des besoins plus pointus.

# Poznote Configuration
# Copy this file to .env and customize the values

# =============================================================================
# AUTHENTICATION BASIC CONFIGURATION
# =============================================================================

# Basic Authentication
# Set your admin username and password
POZNOTE_USERNAME=admin
POZNOTE_PASSWORD=admin

# Web Server Configuration
# Port on which Poznote will be accessible
HTTP_WEB_PORT=8040

# =============================================================================
# AUTHENTICATION OIDC CONFIGURATION
# =============================================================================

# OIDC / SSO Authentication (Optional)
# Enable OpenID Connect authentication
# When enabled, users can log in using external identity providers like Auth0, Keycloak, Azure AD, etc.

# Enable or disable OIDC authentication
POZNOTE_OIDC_ENABLED=false

# Display name for the OIDC provider (shown on login button)
POZNOTE_OIDC_PROVIDER_NAME=SSO

# OIDC Provider Configuration
# These values come from your OIDC identity provider (IdP)

# The issuer URL of your OIDC provider (usually ends with /.well-known/openid-configuration)
POZNOTE_OIDC_ISSUER=https://your-identity-provider.com

# Client ID from your OIDC application registration
POZNOTE_OIDC_CLIENT_ID=your_client_id

# Client secret from your OIDC application registration (keep this secure!)
POZNOTE_OIDC_CLIENT_SECRET=your_client_secret

# Optional: Custom scopes (default: "openid profile email")
# POZNOTE_OIDC_SCOPES="openid profile email"

# Optional: Override auto-discovery URL
# POZNOTE_OIDC_DISCOVERY_URL=https://your-idp.com/.well-known/openid-configuration

# Optional: Custom redirect URI (default: auto-generated)
# POZNOTE_OIDC_REDIRECT_URI=https://your-domain.com/oidc_callback.php

# Optional: Custom logout endpoint for RP-initiated logout
# POZNOTE_OIDC_END_SESSION_ENDPOINT=https://your-idp.com/logout

# Optional: Where to redirect after logout (default: login page)
# POZNOTE_OIDC_POST_LOGOUT_REDIRECT_URI=https://your-domain.com/login.php

# Optional: Disable normal login when OIDC is enabled (force SSO-only login)
# When set to true, the username/password login form will be hidden and only OIDC login is available
# Default: false
# POZNOTE_OIDC_DISABLE_NORMAL_LOGIN=false

# Optional: Disable HTTP Basic Auth for API when OIDC is enabled (force OIDC-only authentication)
# When set to true, API requests with HTTP Basic Auth will be rejected (403 Forbidden)
# Default: false
# POZNOTE_OIDC_DISABLE_BASIC_AUTH=false

# Optional BUT VERY RECOMMANDED: Restrict access to specific users (comma-separated list of emails or usernames)
# SECURITY: If not set, ALL authenticated users from the identity provider can access the application
# Highly recommended to set this to prevent unauthorized access
# Example: POZNOTE_OIDC_ALLOWED_USERS=alice@example.com,bob@example.com,charlie@company.org
# POZNOTE_OIDC_ALLOWED_USERS=

# =============================================================================
# SETTINGS ACCESS CONTROL
# =============================================================================

# Optional: Completely block access to the settings page
# When set to true, the settings page will not be accessible (returns a 403 error page)
# Useful for restricting settings access in managed environments
# Default: false
# POZNOTE_DISABLE_SETTINGS_ACCESS=false

# Optional: Protect settings page with a password
# When set, users will need to enter this password to access settings
# Leave empty to disable password protection
# Note: DISABLE_SETTINGS_ACCESS takes precedence over this option
# Default: empty (no password protection)
# POZNOTE_SETTINGS_PASSWORD=

# =============================================================================
# IMPORT CONFIGURATION
# =============================================================================

# Maximum number of files allowed for individual file imports
# Default: 50
# This limits the number of .html, .md, txt or .markdown files that can be imported at once
POZNOTE_IMPORT_MAX_INDIVIDUAL_FILES=50

# Maximum number of files allowed in a ZIP archive for import
# Default: 300
# This limits the number of files that can be imported from a single ZIP file
POZNOTE_IMPORT_MAX_ZIP_FILES=300
  • POZNOTE_USERNAME=admin => Choisissez un nom d'utilisateur pour le compte administrateur.
  • POZNOTE_PASSWORD=admin => Choisissez un mot de passe fort pour le compte administrateur.
  1. On va déployer l'application :
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8040 par défaut :
http://ip:8040/

ou votre domaine :

https://poznote.mondomaine.com

🔌 Première connexion, ou pas

Lorsque vous lancez Poznote, vous arriverez ici :

  • 1 => Entrez votre nom d'utilisateur.
  • 2 => Entrez votre mot de passe.
  • 3 => Cliquez sur Login.

Et c'est là que, possiblement :

Poznote ne peut pas écrire dans le dossier data.
La solution est très simple, on va stopper le container :

docker compose down

Suivant votre ID, adaptez, mais donnez les bonnes permissions au dossier data :

sudo chown 1000-1000 -R data

Relancez le container :

docker compose up -d

Vous arrivez bien sur votre tableau de bord :


⚙️ Les options

Avant de parler de la partie note, réglons quelques détails et prenons connaissance des options disponibles.

Changer la langue

Poznote est disponible en 5 langues :

  • Anglais.
  • Français.
  • Espagnol.
  • Portugais.
  • Allemand.

Cliquez sur l'engrenage :

Cliquez sur Language :

Configurez votre langue :

  • 1 => Cochez la langue souhaitée.
  • 2 => Sauvez en cliquant sur Save.

Définir le nom affiché sur l’écran de connexion

Cliquez ici :

Complétez :

  • 1 => Nommez le titre.
  • 2 => Cliquez sur Enregistrer pour terminer.

On est bon :

Modifier le fuseau horaire

Cliquez sur :

Dans mon cas cela ne changera rien que ce soit Paris ou Brussels, mais pour l'exemple :

  • 1 => Sélectionnez votre fuseau horaire.
  • 2 => Cliquez sur Enregistrer, c'est terminé et mis à jour immédiatement.

Sauvegarder son instance facilement

Cliquez ici :

La sauvegarde la plus complète :

  • 1 => Cliquez sur Télécharger la sauvegarde complète.

Restaurer son instance facilement

Cliquez ici :

Cela vous mène ici :

  • 1 => Cliquez sur Restauration classique.
  • 2 => Indiquez où se trouve le ZIP.
  • 3 => Cliquez sur Démarrer la restauration.

🏗️ L'espace de travail

L'espace de travail ou, workspace en anglais, permet d'isoler des espaces de travail différents, réunis au même endroit.

Renommer l'espace de travail par défaut

Cliquez sur l'engrenage :

Cliquez ici :

Dans la partie Espaces de travail existants :

  • 1 => Cliquez sur Renommer.

Changez le nom :

  • 1 => Renommez votre espace de travail.
  • 2 => Terminez le renommage en cliquant sur Renommer.

Créer un espace de travail

Dans la partie Créer un nouvel espace de travail :

  • 1 => Nommez votre espace de travail.
  • 2 => Cliquez sur Créer, c'est temriné.

Définir l'espace de travail de démarrage

Dans la partie Espace de travail de démarrage :

  • 1 => Sélectionnez votre espace de travail favoris.
  • 2 => Cliquez sur Enregistrer.

🗒️ La partie note

Cliquez sur + :

Vous avez ces options de disponible :

  • 1 => Cliquez ici pour créer une note HTML.
  • 2 => Cliquez ici pour créer une note Markdown.
  • 3 => Cliquez ici pour créer une liste de tâches.
  • 4 => Cliquez ici pour créer un dossier pour y glisser notes et tâches.
  • 5 => Cliquez ici pour créer un espace de travail.

Les options de mise en page

Pour avoir accès aux options :

  • 1 => Cliquez sur la touche / de votre clavier, cela va ouvrir un menu.
  • 2 => Choisissez ce dont vous avez besoin dans le menu.

Les options de note principales

  • 1 => Chercher et remplacer.
  • 2 => Ajouter en favoris.
  • 3 => Partager la note.
  • 4 => Attacher une pièce jointe.
  • 5 => Ouvrir la note dans un nouvel onglet.
  • 6 => Dupliquer.
  • 7 => Déplacer.
  • 8 => Enregistrer.
  • 9 => Convertir en Markdown.
  • 10 => Supprimer.

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