Installation
Fichier docker-compose
Dans cette procédure, nous allons utiliser Docker. Une documentation préalable à ce sujet est disponible ici.
Commençons par créer un fichier docker-compose.yaml
, adapté à nos besoins :
services:
# Service principal : Outline (wiki collaboratif auto-hébergé)
outline:
image: outlinewiki/outline:latest # Image officielle Outline
depends_on:
- postgres # Nécessite la base PostgreSQL
- redis # Nécessite Redis
environment:
URL: https://outline.domaine.com # URL publique d'accès à l'instance Outline
FORCE_HTTPS: "true" # Redirige automatiquement les requêtes HTTP vers HTTPS
DATABASE_URL: postgres://outline:outline@postgres:5432/outline # Connexion à PostgreSQL : user:mdp@hôte:port/base
REDIS_URL: redis://redis:6379 # Connexion à Redis
SECRET_KEY: clé-1 # Clé secrète interne (sessions, sécurité...)
UTILS_SECRET: clé-2 # Clé secrète utilisée pour des opérations internes diverses
FILE_STORAGE: local # Stockage des fichiers sur disque local (vs. S3 ou autres)
ENABLE_UPDATES: "false" # Désactive la vérification automatique des mises à jour
PGSSLMODE: disable # Désactive SSL entre Outline et PostgreSQL (local uniquement)
# Authentification via OpenID Connect (OIDC) avec Keycloak
OIDC_CLIENT_ID: outline
OIDC_CLIENT_SECRET: client-secret
OIDC_DISCOVERY_URL: https://sso.domaine.com/realms/LDAP/.well-known/openid-configuration
# URL de découverte OIDC fournie par Keycloak
OIDC_AUTH_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/auth
OIDC_TOKEN_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/token
OIDC_USERINFO_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/userinfo
OIDC_USERNAME_CLAIM: preferred_username # Champ OIDC utilisé pour le nom d'utilisateur dans Outline
OIDC_DISPLAY_NAME: Connexion Keycloak # Nom affiché pour le bouton de connexion
OIDC_SCOPES: "openid profile email" # Scopes demandés à Keycloak
OIDC_EMAIL_REQUIRED: "true" # Requiert une adresse mail pour la connexion
OIDC_AUTO_PROVISION: "true" # Crée automatiquement les utilisateurs à la première connexion
ports:
- 3000:3000 # Expose le port 3000 d’Outline sur le même port de l’hôte
restart: always # Redémarre toujours en cas d'échec ou au redémarrage de l'hôte
# Base de données PostgreSQL pour Outline
postgres:
image: postgres:14 # Version compatible recommandée pour Outline
environment:
POSTGRES_DB: outline # Nom de la base
POSTGRES_USER: outline # Utilisateur de la base
POSTGRES_PASSWORD: outline # Mot de passe
volumes:
- outline_postgres:/var/lib/postgresql/data # Persistance des données PostgreSQL
restart: always
# Service Redis (utilisé pour le cache et les files d’attente par Outline)
redis:
image: redis:alpine # Image légère de Redis
restart: always
# Volume Docker pour la base de données PostgreSQL
volumes:
outline_postgres:
Démarrage
Une fois le fichier docker-compose.yaml
créé, nous pouvons lancer Outline avec la commande suivante :
docker compose up -d
No Comments