Aller au contenu

Outline

Wiki d’équipe / base de connaissances. Pages façon Notion, collections, documents imbriqués. Keycloak SSO pré-câblé.

  • Projet original : https://www.getoutline.com/
  • Remplace : Notion, Confluence, Google Sites
  • Connexion (SSO) : Pré-câblé — la page de connexion affiche “Se connecter avec Keycloak” d’emblée, aucune étape post-déploiement.
  1. Cliquez Deploy. Les valeurs par défaut de l’Environment sont pré-remplies.
  2. Patientez ~1 min pour le premier démarrage.
  3. Visitez votre domaine Outline -> cliquez Se connecter avec Keycloak. Le premier utilisateur devient l’admin du workspace.

Ces valeurs se trouvent dans l’onglet Environment du compose Dokploy. Les secrets aléatoires sont générés automatiquement au premier semi du template — vous n’avez pas à les générer vous-même.

VariableValeur par défaut
OUTLINE_HOSTNAMEwiki.yourdomain.com
OUTLINE_SECRET_KEYvaleur aléatoire auto-générée
OUTLINE_UTILS_SECRETvaleur aléatoire auto-générée
DB_PASSWORDvaleur aléatoire auto-générée
  • Service et port : outline:3000
  • Nom d’hôte : wiki.yourdomain.com

Le nom d’hôte est attaché automatiquement au semi du template ; modifiez-le dans l’onglet Domains avant de cliquer Deploy si vous souhaitez autre chose.

Pour référence — c’est ce que le template déploie. Ne collez ceci nulle part. Le compose est semé dans Dokploy automatiquement ; les ajustements côté client se font dans les onglets Environment et Domains (décrits plus haut), jamais dans le compose lui-même.

# Outline -- team wiki / knowledge base, Keycloak SSO pre-wired via
# env-based OIDC. Zero admin-UI config needed after first deploy; users
# see "Sign in with Keycloak" on the login page.
services:
outline:
image: outlinewiki/outline:1.7.1
restart: unless-stopped
command: >-
sh -c "yarn db:migrate --env production-ssl-disabled && yarn start"
environment:
NODE_ENV: production
SECRET_KEY: ${OUTLINE_SECRET_KEY}
UTILS_SECRET: ${OUTLINE_UTILS_SECRET}
DATABASE_URL: postgres://outline:${DB_PASSWORD}@db:5432/outline
REDIS_URL: redis://redis:6379
URL: https://${OUTLINE_HOSTNAME}
PORT: "3000"
FILE_STORAGE: local
FILE_STORAGE_LOCAL_ROOT_DIR: /var/lib/outline/data
FILE_STORAGE_UPLOAD_MAX_SIZE: "262144000"
FORCE_HTTPS: "true"
ENABLE_UPDATES: "false"
# Keycloak OIDC -- populated by dashboard-sync after first deploy.
OIDC_CLIENT_ID: ${OIDC_CLIENT_ID}
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}
OIDC_AUTH_URI: ${OIDC_ISSUER_URL}/protocol/openid-connect/auth
OIDC_TOKEN_URI: ${OIDC_ISSUER_URL}/protocol/openid-connect/token
OIDC_USERINFO_URI: ${OIDC_ISSUER_URL}/protocol/openid-connect/userinfo
OIDC_LOGOUT_URI: ${OIDC_ISSUER_URL}/protocol/openid-connect/logout
OIDC_USERNAME_CLAIM: preferred_username
OIDC_DISPLAY_NAME: Keycloak
OIDC_SCOPES: openid profile email
volumes:
- outline-data:/var/lib/outline/data
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
labels:
- "vps.auth.mode=public"
- "vps.auth.oidc=true"
- "vps.auth.groups=staff"
- "vps.auth.oidc.redirect_uris=https://${OUTLINE_HOSTNAME}/auth/oidc.callback"
- "vps.auth.oidc.scopes=openid email profile"
- "vps.auto-update=patch"
networks:
dokploy-network:
aliases:
- outline
default: {}
db:
image: postgres:16.13-alpine
restart: unless-stopped
environment:
POSTGRES_USER: outline
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: outline
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U outline"]
interval: 10s
timeout: 5s
retries: 5
labels:
- "vps.auto-update=patch"
networks:
- default
redis:
image: redis:8.6.3-alpine3.23
restart: unless-stopped
labels:
- "vps.auto-update=patch"
networks:
- default
volumes:
outline-data:
db-data:
networks:
dokploy-network:
external: true

<- Retour au catalogue des applications pré-configurées