Install HedgeDoc on NAS

Install HedgeDoc on NAS

HedgeDoc은 웹 기반의 자체 호스팅된 오픈 소스 공동 작업 마크다운 편집기입니다. 이 기능을 사용하여 노트, 그래프 및 심지어 프레젠테이션도 실시간으로 쉽게 공동 작업할 수 있습니다. 동료에게 노트 링크를 공유하면 작업 준비가 완료됩니다. 이 단계별 가이드에서는 Docker 및 Portainer를 사용하여 Synology NAS에 HedgeDoc을 설치하는 방법을 보여드리겠습니다.

준비물
Synology NAS, Docker, Portainer 입니다.

역방향프록시

도메인이 있다면 역방향프록시를 사용하여 외부에서도 접속이 가능하도록 할 수 있습니다.
시놀로지 역방향프록시는 제어판 -> 로그인 포털 -> 고급 탭 -> 역방향프록시 입니다.

시작

작업할 폴더를 만들어줍니다.

연동할 폴더를 생성합니다.

Portainer에 접속하여 stack 를 만듭니다.

version: "3.9"
services:
  db:
    image: mariadb:jammy
    container_name: HedgeDoc-DB
    hostname: hedgedoc-db
    security_opt:
      - no-new-privileges:true
    environment:
      - TZ=Asia/Seoul
      - MYSQL_ROOT_PASSWORD=rootpass   #강력한 암호로 변경하세요.
      - MYSQL_DATABASE=hedgedoc
      - MYSQL_USER=hedgedocuser
      - MYSQL_PASSWORD=hedgedocpass
    volumes:
      - /volume1/docker/markdown/db:/var/lib/mysql:rw
    restart: always

  hedgedoc:
    image: lscr.io/linuxserver/hedgedoc:latest
    container_name: HedgeDoc
    hostname: hedgedoc
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1
    environment:
      - TZ=Asia/Seoul
      - PUID=1026
      - PGID=100
      - DB_HOST=hedgedoc-db
      - DB_PORT=3306
      - DB_USER=hedgedocuser   #위에 db변경하셔으면 합니다.
      - DB_PASS=hedgedocpass   #위에 db변경하셔으면 합니다.
      - DB_NAME=hedgedoc       #위에 db변경하셔으면 합니다.
      - CMD_DOMAIN=sub.yourdomain.com   #변경하셔야합니다.
      - CMD_URL_ADDPORT=false
      - CMD_PROTOCOL_USESSL=true
      - CMD_PORT=3000
      - CMD_ALLOW_ORIGIN=['localhost']
      - CMD_ALLOW_ANONYMOUS=false
      #- CMD_ALLOW_EMAIL_REGISTER=false

    volumes:
      - /volume1/docker/markdown/appdata:/config
    ports:
      - 9600:3000
    restart: always
    depends_on:
      db:
        condition: service_started

  1. 내용을 설명하면 방문자는 게시글을 볼 수 없습니다.
  2. 사용자를 추가 할 수 없습니다.

우리가 원하는것은 나만의 문서를 가지고 있는 것이라고 하면 방문자가 게시글을 작성해서 또한 봐서도 안된다 생각됩니다. 혹, 방문자가 권한을 갖기 원하신다면 - CMD_ALLOW_ANONYMOUS=false 부분을 지우시기 바랍니다.

끝냄

후에 역방향프록시를 지정하셨다면 해당 주소로 접속하시고, 내부ip로만 하신다면 작성한 아이피와 포트 번호로 접속 뒤 로그인하시면 글을 작성할 수 있습니다.

이상입니다.

  • If it helps, buy me a cup of coffee.
    https://www.buymeacoffee.com/flutterkage2k
  • 감사합니다.