HedgeDoc installieren
HedgeDoc installieren
HedgeDoc ist ein Online-Texteditor für das gemeinschaftliche Bearbeiten von Texten. Die Texte können mit Hilfe von Markdown mit Hervorhebungen und Gliederung gestaltet werden.
HedgeDoc ist eine moderne Alternative zum Etherpad.
Das Projekt hieß auch mal CodiMD und HackMD, die Geschichte ist hier nachzulesen: https://hedgedoc.org/history/
Vorbereitungen in HSAdmin
Nach des Hostsharing "best practice" soll für jede Anwendung eine eigene (Sub-)domain unter einem eigenen User geschaltet werden. Eine eigene Datenbank versteht sich von selbst...
HedgeDoc unterstützt unter anderem PostgreSQL als Datenbank, so dass wir hier eine Postgres-Datenbank verwenden.
Als Paketadmin xyz00 aufrufen:
hsscript -i
In der HSAdmin-Shell gibt man dann ein:
xyz00@hsadmin> user.add({set:{name:'xyz00-hedgedoc', password:'mein-Geheimwort', shell:'/bin/bash'}}) xyz00@hsadmin> domain.add({set:{name:'hedgedoc.hs-example.de', user:'xyz00-hedgedoc'}}) xyz00@hsadmin> postgresqluser.add({set:{name:'xyz00_hedgedoc', password:'anderes-Geheimwort'}}) xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_hedgedoc', owner:'xyz00_hedgedoc'}}) xyz00@hsadmin> bye
Voraussetzungen installieren
HedgeDoc benötigt nodejs in einer Version >= 16.x. Die Installation erfolgt gemäss der Wiki-Anleitung: NodeJS
Als neu angelegter User xyz00-hedgedoc:
cd touch .profile chmod u+x .profile curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash exit
Dann wieder als User xyz00-hedgedoc anmelden:
nvm install 16 npm install -g yarn
Damit sind yarn und node installiert.
HedgeDoc installieren
Weiter als User xyz00-hedgedoc:
cd git clone https://github.com/hedgedoc/hedgedoc.git hedgedoc cd hedgedoc git checkout 1.6.0 // aktuelle Version auswählen, heute (im Juni 2022) ist das 1.9.3 source ~/.profile ./bin/setup yarn install --frozen-lockfile yarn build
An dieser Stelle wird die Datei config.json angepasst.
Meine config.json:
{ "production": { "domain": "hedgedoc.hs-example.de", "loglevel": "info", "hsts": { "enable": true, "maxAgeSeconds": 31536000, "includeSubdomains": true, "preload": true }, "csp": { "enable": true, "directives": { }, "upgradeInsecureRequests": "auto", "addDefaults": true, "addDisqus": false, "addGoogleAnalytics": false }, "db": { "username": "xyz00_hedgedoc", "password": "anderes-Geheimwort", "database": "xyz00_hedgedoc", "host": "localhost", "port": "5432", "dialect": "postgres" }, "protocolUseSSL": true, "allowPDFExport": true, "linkifyHeaderStyle": "gfm" } }
Die Anwendung testweise starten:
cd $HOME/hedgedoc npm start --production
Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter http://xyz00.hostsharing.net:3000 erreichbar.
Mit Ctrl-C abbrechen.
Apache und Passenger konfigurieren
cd cd doms/hedgedoc.hs-example.de rm -rf subs/www subs-ssl/www app-ssl htdocs-ssl ln -s $HOME/hedgedoc app-ssl ln -s $HOME/hedgedoc/public htdocs-ssl echo "PassengerNodejs $(which node)" >.htaccess
Die Anwendung ist unter https://hedgedoc.hs-example.de erreichbar.
Links
- https://demo.hedgedoc.org/s/features
- https://github.com/hedgedoc/hedgedoc/releases
- https://docs.hedgedoc.org/setup/manual-setup/
- Ansible Playbook für Hostsharing