Writings

Blog

Server

Self Hosted HedgeDoc in Minuten

29.09.21

ORIGINAL

HedgeDoc

HedgeDoc ist ein Open Source Markdown Editor, der gleichzeitig von mehreren Personen per Browser genutzt werden kann.

Neben Markdown werden auch weitere Formate wie z. B. UML Ablaufdiagramme oder Mathematische Formelen unterstützt.

Gausche Summenformel

$$ 0+1+2+3+4+\dotsb +n=\sum _{k=0}^{n}k={\frac {n(n+1)}{2}}={\frac {n^{2}+n}{2}} $$

Die Einrichtung ist ganz einfach, ich habe die .env für docker-compose genutzt. Ihr könnt diese also problemlos nutzen.

Hedgedoc

version: "3" services: mariadb: image: ghcr.io/linuxserver/mariadb:latest container_name: hedgedoc_mariadb restart: always volumes: - ./config_mariadb:/config environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=hedgedoc - MYSQL_USER=hedgedoc - MYSQL_PASSWORD=${MYSQL_PASSWORD} - PGID=1000 - PUID=1000 - TZ=Europe/London networks: - proxy hedgedoc: image: ghcr.io/linuxserver/hedgedoc:latest container_name: hedgedoc restart: always depends_on: - mariadb volumes: - ./config_hedge:/config environment: - DB_HOST=hedgedoc_mariadb - DB_USER=hedgedoc - DB_PASS=${MYSQL_PASSWORD} - DB_NAME=hedgedoc - DB_PORT=3306 - PGID=1000 - PUID=1000 - TZ=Europe/Berlin - CMD_DOMAIN=${HEDGEDOC_DOMAIN} - CMD_PROTOCOL_USESSL=true networks: - proxy labels: - traefik.enable=true - traefik.http.routers.hedge.entrypoints=http - traefik.http.routers.hedge.rule=Host(`${HEDGEDOC_DOMAIN}`) - traefik.http.middlewares.hedge-https-redirect.redirectscheme.scheme=https - traefik.http.routers.hedge.middlewares=hedge-https-redirect - traefik.http.routers.hedge-secure.entrypoints=httpsecure - traefik.http.routers.hedge-secure.rule=Host(`${HEDGEDOC_DOMAIN}`) - traefik.http.routers.hedge-secure.tls=true - traefik.http.routers.hedge-secure.tls.certresolver=le - traefik.http.routers.hedge-secure.service=hedgedoc - traefik.http.services.hedgedoc.loadbalancer.server.port=3000 - traefik.docker.network=proxy networks: proxy: external: true

Traefik

version: '3' services: reverse-proxy: restart: always image: traefik:v2.5 command: - --api.insecure=true - --api.dashboard=true - --providers.docker - --entryPoints.httpsecure.address=:443 - --entryPoints.http.address=:80 - --entryPoints.ssh.address=:2222 - --certificatesresolvers.le.acme.email=${email} - --certificatesresolvers.le.acme.storage=acme.json - --certificatesresolvers.le.acme.httpchallenge.entrypoint=http - --certificatesresolvers.le.acme.httpchallenge=true ports: - "80:80" - "443:443" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./letsencrypt/acme.json:/acme.json networks: proxy: networks: proxy: external: true

Natürlich habe ich mir die entsprechenden Plugins auch sofort in Gatsby installiert. Ich war dabei überrascht das es ein Mermeaid Plugin für PHPStorm gibt.

Back