Sign inSign up

devj007/docmost-sso

By devj007

Updated 6 months ago

Unofficial Docmost Community build with native Keycloak/OIDC SSO support enabled.

Image
0

1.5K

devj007/docmost-sso repository overview

Docmost (SSO Enabled)

Open-source collaborative wiki and documentation software with Keycloak SSO support.

Docmost is a modern, open-source alternative to Confluence and Notion. It is designed for real-time collaboration, allowing teams to create, organize, and share knowledge seamlessly.

This particular image includes built-in support for Keycloak Single Sign-On (SSO).

Website | Documentation | GitHub

Features

  • Real-time collaboration: Edit documents together with your team in real-time.
  • SSO (Keycloak): Secure your workspace with Keycloak authentication.
  • Rich Editor: Support for Markdown, tables, and rich media.
  • Diagrams: Integrated support for Draw.io, Excalidraw, and Mermaid diagrams.
  • Spaces & Groups: Organize content into spaces and manage access with groups.
  • Permissions: Granular permission management for spaces and pages.
  • Comments & History: Discuss content with inline comments and track changes with page history.
  • Search: Fast and efficient search to find what you need.
  • Embeds: Embed content from Airtable, Loom, Miro, and more.

Quick Start

The easiest way to run Docmost is using Docker Compose.

1. Create a docker-compose.yml file
version: "3"

services:
  docmost:
    image: devj007/docmost-sso:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: "http://localhost:3000"
      APP_SECRET: "REPLACE_WITH_LONG_HEX_STRING"
      DATABASE_URL: "postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public"
      REDIS_URL: "redis://redis:6379"
      # Keycloak Configuration (Optional)
      KEYCLOAK_ISSUER_URL: ""
      KEYCLOAK_CLIENT_ID: ""
      KEYCLOAK_CLIENT_SECRET: ""
      KEYCLOAK_CALLBACK_URL: "http://localhost:3000/api/auth/keycloak/callback"
    ports:
      - "3000:3000"
    restart: unless-stopped
    volumes:
      - docmost:/app/data/storage

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: docmost
      POSTGRES_USER: docmost
      POSTGRES_PASSWORD: STRONG_DB_PASSWORD
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/postgresql/data

  redis:
    image: redis:7.2-alpine
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  docmost:
  db_data:
  redis_data:
2. Configure Secrets
  • APP_SECRET: Generate a random 32-byte hex string (e.g., using openssl rand -hex 32) and replace REPLACE_WITH_LONG_HEX_STRING.
  • STRONG_DB_PASSWORD: Set a secure password for the database in both the docmost (DATABASE_URL) and db (POSTGRES_PASSWORD) services.
3. Start the services
docker-compose up -d
4. Access the application

Open your browser and navigate to http://localhost:3000.

Environment Variables

VariableDescriptionRequired
APP_URLThe URL where the application is hosted (e.g., https://docs.example.com).Yes
APP_SECRETA long random string used for signing sessions and tokens.Yes
DATABASE_URLPostgreSQL connection string.Yes
REDIS_URLRedis connection string.Yes
KEYCLOAK_ISSUER_URLThe URL of your Keycloak realm.No
KEYCLOAK_CLIENT_IDKeycloak Client ID.No
KEYCLOAK_CLIENT_SECRETKeycloak Client Secret.No
KEYCLOAK_CALLBACK_URLOIDC Callback URL.No

License

Docmost is licensed under the AGPL-3.0 license.

Tag summary

Content type

Image

Digest

sha256:68d863c2b

Size

297.7 MB

Last updated

6 months ago

docker pull devj007/docmost-sso