Writings
Blog
Server
Self Hosted HedgeDoc in Minuten
29.09.21HedgeDoc
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.