A real-time collaborative editing server for OpenProject documents, powered by Yjs and Hocuspocus.
# Clone the repository
git clone https://github.com/opf/op-blocknote-hocuspocus.git
cd op-blocknote-hocuspocus
# Install dependencies
npm install
# Start the server with the appropriate environment variables setup
ALLOWED_DOMAINS=your-openproject-domain.com SECRET=secret12345 npm run startFor the server to be able to reach to an OpenProject instance, it is necessary to set the environment variable ALLOWED_DOMAINS. It is a comma-separated list of domains (and it allows subdomain matching).
ALLOWED_DOMAINS=subdomain-openproject.example.com,top-level-openproject.com`
The SECRET environment variable is a shared value between this application and OpenProject. Make sure to configure the same value in OpenProject - Settings Hocuspocus secret and in the SECRET environment variable of this project.
docker pull openproject/hocuspocus:latest
docker run -d \
-p 1234:1234 \
-e ALLOWED_DOMAINS=your-openproject-domain.com \
-e SECRET=secret12345 \
openproject/hocuspocus:latest# Development Mode (with hot reload):
npm run dev
# Production Mode
npm run start
# Debug Mode (with Node.js inspector):
npm run debug
# Run tests
npm run test
# Lint code
npm run lintMaintained by the OpenProject team