Vielen Dank für all die Unterstützung, leider löst das das Problem nicht.
Für neue Benutzer vielleicht lohnenswert, ein hinzuzufügen:
- Container betreten (z. B.
./launcher enter app
Das habe ich getan. Und pnp war bereits installiert:
root@vtdiscourse-app:/var/www/discourse# pnpm --version
9.5.0
Das habe ich bereits getan, wie in meinem obigen Beitrag geschrieben, ohne das Problem zu lösen.
Discourse wurde im April 2023 installiert.
Ich habe erfolgreich bis einschließlich v3.4.0.beta3 aktualisiert.
Wie oben geschrieben, ist das Betriebssystem ein LXC-Container, der Debian Bullseye mit den neuesten installierten Updates verwendet.
Die einzige installierte Erweiterung ist das Private Topics Plugin (noch in Wartung und wird von meiner Seite bei jedem Discourse-Update auf dem neuesten Stand gehalten).
Hier ist sie:
## Dies ist die All-in-One, eigenständige Discourse Docker Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE SEHR VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SEHR SEHR EMPFINDLICH GEGENÜBER FEHLERN BEI Leerzeichen ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei nach Bedarf zu validieren.
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Kommentar entfernen, um den IPv6-Listener zu aktivieren
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Kommentar entfernen, wenn Sie Lets Encrypt (https) hinzufügen möchten
##- "templates/web.ssl.template.yml"
- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## Welche TCP/IP-Ports soll dieser Container bereitstellen?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Setzen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers.
## wird automatisch von bootstrap basierend auf dem erkannten RAM gesetzt, oder Sie können überschreiben
#db_shared_buffers: "128MB"
db_shared_buffers: "256MB"
## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
#db_work_mem: "40MB"
## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
## wird automatisch von bootstrap basierend auf den erkannten CPUs gesetzt, oder Sie können überschreiben
UNICORN_WORKERS: 2
## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
#DISCOURSE_HOSTNAME: 'discourse.example.com'
DISCOURSE_HOSTNAME: 'my-discourse-domain.example.com'
## Kommentar entfernen, wenn der Container mit demselben Hostnamen gestartet werden soll
## (-h Option) wie oben angegeben (Standard "hostname-config")
#DOCKER_USE_HOSTNAME: true
## TODO: Liste von durch Kommas getrennten E-Mails, die bei der erstmaligen Registrierung zu Administratoren und Entwicklern gemacht werden
## Beispiel 'user1@example.com,user2@example.com'
#DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'my-admin-mail@example.com'
## TODO: Der SMTP-Mailserver, der zur Validierung neuer Konten und zum Senden von Benachrichtigungen verwendet wird
# SMTP-ADRESSE, Benutzername und Passwort sind erforderlich
# ACHTUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
#DISCOURSE_SMTP_ADDRESS: smtp.example.com
DISCOURSE_SMTP_ADDRESS: my-smtp-server.example.com
#DISCOURSE_SMTP_PORT: 587
#DISCOURSE_SMTP_USER_NAME: user@example.com
DISCOURSE_SMTP_USER_NAME: my-user@my-smtp-server.example.com
#DISCOURSE_SMTP_PASSWORD: pa$$word
DISCOURSE_SMTP_PASSWORD: foo(offensichtlich nicht)
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, Standard true)
#DISCOURSE_SMTP_DOMAIN: discourse.example.com # (von einigen Anbietern erforderlich)
##DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com # (Adresse, von der Benachrichtigungen gesendet werden)
DISCOURSE_NOTIFICATION_EMAIL: my-user@my-smtp-server.example.com # (Adresse, von der Benachrichtigungen gesendet werden)
## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten, um ein kostenloses SSL-Zertifikat zu erhalten
#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
## Die HTTP- oder HTTPS-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
## siehe https://meta.discourse.org/t/14857 für Details
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## Der Maxmind GeoIP-Schlüssel für die IP-Adressensuche
## siehe https://meta.discourse.org/t/-/137387/23 für Details
##DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
DISCOURSE_MAXMIND_LICENSE_KEY: my-key
## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Plugins gehen hierhin
## siehe https://meta.discourse.org/t/19157 für Details
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/communiteq/discourse-private-topics.git
## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
- exec: echo "Beginn der benutzerdefinierten Befehle"
## Wenn Sie die 'Von'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie sie aus und ändern Sie sie:
## Nachdem Sie die erste Registrierungs-E-Mail erhalten haben, kommentieren Sie die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Ende der benutzerdefinierten Befehle"
Jede Hilfe wird geschätzt.