Back to Apps
HedgeDoc

Deploy HedgeDoc on Your Own Server

HedgeDoc lets you create real-time collaborative markdown notes

πŸ“¦ Other

Want to deploy HedgeDoc on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is HedgeDoc?

HedgeDoc lets you create real-time collaborative markdown notes. For more info visit https://docs.hedgedoc.org/

Self-Host HedgeDoc

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  hedgedoc:
    image: quay.io/hedgedoc/hedgedoc:1.7.2
    environment:
      CMD_DB_URL: postgres://joplin:ffbc5b2bcdade1f1236c3d218a3099eb87959340e38c01207358614b63f765c4@hedgedoc-db:5432/joplin
      CMD_DOMAIN: hedgedoc.your-domain.com
      CMD_URL_ADDPORT: "false"
      PLUGIN_INSTALLER: ${plugin_installer}
    volumes:
      - hedgedoc-uploads:/hedgedoc/public/uploads
    depends_on:
      - hedgedoc-db
  hedgedoc-db:
    image: postgres:9.6-alpine
    environment:
      POSTGRES_DB: joplin
      POSTGRES_PASSWORD: ffbc5b2bcdade1f1236c3d218a3099eb87959340e38c01207358614b63f765c4
      POSTGRES_USER: joplin
    volumes:
      - hedgedoc-db:/var/lib/postgresql/data
volumes:
  hedgedoc-uploads: {}
  hedgedoc-db: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:3000

Why Self-Host HedgeDoc?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

quay.io/hedgedoc/hedgedoc:${version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"