Verantwortung | Malte |
Container | md |
W. Ports | keine |
OS | Debian 12.5 |
Server | magrathea |
Zustand | Produktiv |
Dies ist die technische Doku zu unserem Container md. Nutzerinfos zu hedgedoc findest du hier.
In diesem Container läuft Hedgedoc unter https://md.chaotikum.org
Langfristig soll hiermit das veraltete CodiMD unter https://docs.chaotikum.org abgelöst werden. Eine Migration ist leider nicht möglich, da das CodiMD zu alt ist und mit SQLite aufgesetzt wurde.
Serviceübersicht | Version |
---|---|
nodejs | 20.14.0-1nodesource1 |
postgresql | 16+260.pgdg100+1 |
Hedgedoc | 1.9.9 |
Da die gesamte Konfiguration über den systemd-Service erfolgt (siehe unten) kann für ein Update einfach /opt/hedgedoc
komplett gelöscht und neu installiert werden:
mv /opt/hedgedoc /opt/hedgedoc-old wget https://github.com/hedgedoc/hedgedoc/releases/download/1.9.0/hedgedoc-1.9.9.tar.gz tar xvf hedgedoc-1.9.9.tar.gz mv hedgedoc /opt/ chown -R hedgedoc:hedgedoc /opt/hedgedoc cd /opt/hedgedoc ./bin/setup
Uploads migrieren:
cp /opt/hedgedoc-old/public/uploads/* /opt/hedgedoc/public/uploads/
Manuelle Installation über NodeSource, da Version aus Debian-Paketquellen zu alt:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt-get install -y nodejs
# Create the file repository configuration: echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list # Import the repository signing key: wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - # Update the package lists: apt-get update # Install the latest version of PostgreSQL. apt-get -y install postgresql
In der Datei
vim /etc/postgresql/13/main/pg_hba.conf
den Eintrag local all postgres
von peer
auf md5
ändern, damit auch über den lokalen Socket die internen Passwörter von PostgreSQL verwendet werden.
systemctl restart postgresql
Passwort vergeben:
su postgres psql postgres \password postgres \q exit
Datenbank anlegen:
psql -U postgres CREATE DATABASE hedgedoc; \q
npm install --global yarn apt install git
User anlegen:
adduser hedgedoc
wget https://github.com/hedgedoc/hedgedoc/releases/download/1.8.2/hedgedoc-1.8.2.tar.gz tar xvf hedgedoc-1.8.2.tar.gz mv hedgedoc /opt/ chown -R hedgedoc:hedgedoc /opt/hedgedoc cd /opt/hedgedoc ./bin/setup
Service anlegen:
vim /etc/systemd/system/hedgedoc.service systemctl enable hedgedoc systemctl start hedgedoc
Alles wird über den Service in /etc/systemd/system/hedgedoc.service
konfiguriert:
[Unit] Description=HedgeDoc - The best platform to write and share markdown. Documentation=https://docs.hedgedoc.org/ After=postgresql.service [Service] Type=exec Restart=always RestartSec=2s ExecStart=/usr/bin/yarn start --production User=hedgedoc Group=hedgedoc WorkingDirectory=/opt/hedgedoc Environment=CMD_DOMAIN=md.chaotikum.org Environment=CMD_PROTOCOL_USESSL=true Environment=CMD_HSTS_ENABLE=true Environment=CMD_DB_URL=postgres://postgres:PASSWORD_CHANGE_ME@localhost:5432/hedgedoc Environment=CMD_LINKIFY_HEADER_STYLE=gfm Environment=CMD_SESSION_SECRET=PASSWORD_CHANGE_ME Environment=CMD_HOST=:: Environment=CMD_PORT=8080 Environment=CMD_URL_ADDPORT=443 Environment=CMD_ALLOW_FREEURL=true Environment=CMD_ALLOW_ANONYMOUS=true Environment=CMD_ALLOW_ANONYMOUS_EDITS=true Environment=CMD_ALLOW_ANONYMOUS_VIEWS=true Environment=CMD_DEFAULT_PERMISSION=freely Environment=CMD_EMAIL=false Environment=CMD_ALLOW_EMAIL_REGISTER=false Environment=CMD_LDAP_URL=ldaps://ldap.chaotikum.net Environment=CMD_LDAP_BINDDN=uid=codi,ou=services,dc=chaotikum,dc=org Environment=CMD_LDAP_BINDCREDENTIALS=PASSWORD_CHANGE_ME Environment=CMD_LDAP_SEARCHBASE=dc=chaotikum,dc=org Environment=CMD_LDAP_SEARCHFILTER=(&(objectClass=OrganizationalPerson)(uid={{username}})(memberOf=cn=freigeschaltet,ou=groups,dc=chaotikum,dc=org)) Environment=CMD_LDAP_USERNAMEFIELD=displayName Environment=CMD_LDAP_USERIDFIELD=uid [Install] WantedBy=multi-user.target
In das Textfeld einfach das Datum der Wartung eintragen, am besten in der Form yyyy-mm-dd.
Du besitzt nicht die Benutzerrechte um Seiten hinzuzufügen.Wartung md (Hedgedoc) | Wartung md (Hedgedoc) Wann 01.06.2024 15:00 Warum Update System md Ansprechperson Malte wartungsfenster md done |
Wartung md (Hedgedoc) | Wartung md (Hedgedoc) Wann 21.10.2022 16:35 Warum Reperatur nach Crash und Update System md Ansprechperson Malte wartungsfenster md done yarn hatte sich irgendwie verschluckt und das führte zu dem Fehler |
Wartung md (Hedgedoc) | Wartung md (Hedgedoc) Wann 18.09.2022 18:00 Warum backup einrichten System md Ansprechperson paul wartungsfenster md done |
Wartung md (Hedgedoc) | Wartung md (Hedgedoc) Wann 15.09.2021 16:08 Warum Update System md Ansprechperson Malte wartungsfenster md done Agenda * Sicherheitsupdate wegen <https://nvd.nist.gov/vuln/detail/CVE-2021-39175> |