HedgeDoc installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Aktualisierung, Ersetzung HedgeDoc, Anpassung Installation)
(Vereinfachung, Installation von Node 16 statt 10)
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 37: Zeile 37:
     touch .profile
     touch .profile
     chmod u+x .profile  
     chmod u+x .profile  
     mkdir tmp
     curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
    cd tmp/
    wget https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh
    chmod u+x install.sh
    ./install.sh
    cd ..
    rm tmp/install.sh
     exit
     exit
</pre>
</pre>
Zeile 50: Zeile 44:


<pre>
<pre>
    nvm install 16
     npm install -g yarn
     npm install -g yarn
    nvm install 10
</pre>
</pre>


Zeile 139: Zeile 133:
* https://github.com/hedgedoc/hedgedoc/releases
* https://github.com/hedgedoc/hedgedoc/releases
* https://docs.hedgedoc.org/setup/manual-setup/
* https://docs.hedgedoc.org/setup/manual-setup/
* [https://github.com/tpokorra/Hostsharing-Ansible-HedgeDoc Ansible Playbook für Hostsharing]


----
----
Zeile 146: Zeile 141:
[[Kategorie:Passenger]]
[[Kategorie:Passenger]]
[[Kategorie:NodeJS]]
[[Kategorie:NodeJS]]
[[Kategorie:Ansible Playbook]]

Version vom 16. Juni 2022, 13:41 Uhr

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.

Codimd-screen.png

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