Tabla de Contenidos

Docmost

Aplicación web para crear documentación colaborativa. Pretende ser una alternativa de código abierto a Confluence y Notion.

Características

Instalación

Docker

Ejemplo de Docker Compose:

version: '3'

services:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: 'http://localhost:3000'
      APP_SECRET: 'REPLACE_WITH_LONG_SECRET'
      DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'
      REDIS_URL: 'redis://redis:6379'
    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:

El valor de APP_SECRET podemos generarlo con openssl rand -hex 32

La primera vez que entremos nos permitirá crear una cuenta que se convertirá en el propietario del espacio de trabajo. A partir de ahí, podremos invitar a otros usuarios para que se unan a él.

Si estamos usando un directorio del sistema de ficheros para montar el directorio donde guarda la información Docmost en el contenedor (bind mount) en lugar de usar named volumes (como en el Docker Compose de arriba), tenemos que ponerle los permisos del usuario que ejecuta Docker:

chown -R usuario_docker:grupo_usuario_docker ./ruta-almacenamiento-docmost

Si no lo hacemos así, no podremos subir ficheros a nuestra instalación.

Uso

Por defecto, lo que se vaya publicando en la instancia de Docmost será privado, no se podrá ver salvo que tengamos una cuenta con permisos.

Espacios de trabajo

Un espacio de trabajo tiene sus propios permisos de manera que podemos crear diferentes especios de trabajo por equipo, proyectos o departamentos según nuestras necesidades.