Files
docker-compose-cookbooks/hedgedoc_dev

HedgeDoc

Overview

HedgeDoc is a self-hosted collaborative markdown editor for creating and sharing real-time notes and documentation. This Docker Compose stack deploys HedgeDoc with SQLite storage and an external reverse proxy.

Project Details

Getting Started

  1. Copy sample.env to .env and edit values as needed
  2. Start the stack: docker compose up -d
  3. Open http://localhost:3000 in your browser

Environment Variable Notes

  • VOL_PATH – base path for persistent data (default: /data)
  • HEDGEDOC_IMAGE – image tag (default: ghcr.io/hedgedoc/hedgedoc:latest)
  • HEDGEDOC_RESTART – restart policy (default: unless-stopped)
  • HEDGEDOC_PORT – host port (default: 3000)
  • HEDGEDOC_DOMAIN – server domain (default: localhost)
  • HEDGEDOC_SSL – enable HTTPS (default: false)
  • HEDGEDOC_ADDPORT – append port to URL (default: true)

Volume Notes

  • ${VOL_PATH:-/data}/hedgedoc/data – SQLite database and uploads

Network Notes

Requires the external proxy network.

Docker Run

docker run -d \
  --name hedgedoc \
  -p 3000:3000 \
  -e CMD_DB_URL=sqlite:///data/hedgedoc.db \
  -e CMD_DOMAIN=localhost \
  -v /data/hedgedoc/data:/hedgedoc/data \
  ghcr.io/hedgedoc/hedgedoc:latest

Additional Notes / Gotchas

  • Uses SQLite by default. For PostgreSQL, add CMD_DB_URL=postgres://... and a postgres service.
  • For production, set CMD_DOMAIN to your actual domain and CMD_PROTOCOL_USESSL=true.

Dockhand Stack, Deploy from Git

Cookbooks Repository stackname: hedgedoc Compose file path: hedgedoc_dev/compose.yaml Additional env file (optional): hedgedoc_dev/sample.env

Then "Load" hedgedoc_dev/sample.env into the Environmental variables in dockhand

Create the Stack