Es ist genau ein Monat her, seit Discourse mir nach einem git pull und anschließendem rebuild am 15. Mai 404-Fehler bei Asset-Dateien (CSS/JS usw.) zurückgegeben hat. Damals wurde ich über die Seite für automatische Updates aufgefordert, ein Upgrade über die Kommandozeile durchzuführen.
Heute, nach mehreren Tagen, habe ich erneut versucht, neu zu installieren, aber das Problem besteht weiterhin, obwohl es bereits Tage her ist. Der Inhalt meiner app.yml-Datei ist unten aufgeführt.
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen (rebuild), damit
## Änderungen in Ihrer live Discourse-Instanz wirksam werden:
##
## /var/discourse/launcher rebuild app
##
## Stellen Sie sicher, dass Sie die YAML-Syntax einhalten! Sie können diese Seite zur Überprüfung nutzen:
## http://www.yamllint.com/
## Dies ist die All-in-One, eigenständige Discourse Docker-Container-Vorlage
# Sie können eine Ratenbegrenzung aktivieren, indem Sie die Vorlage web.ratelimited auskommentieren.
# Standardmäßig sind 12 Anfragen pro Sekunde und 100 pro Minute pro IP erlaubt.
# Dies kann durch Ändern der Parameter in dieser Datei konfiguriert werden.
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
expose:
- "25654:80"
# - "80:80"
# - "2222:22"
params:
db_default_text_search_config: "pg_catalog.english"
version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
UNICORN_WORKERS: 2
DISCOURSE_DEVELOPER_EMAILS: ''
DISCOURSE_HOSTNAME: ''
DISCOURSE_RELATIVE_URL_ROOT: /community
## TODO: Der Mailserver, den diese Discourse-Instanz verwenden wird
DISCOURSE_SMTP_ADDRESS:
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME:
DISCOURSE_SMTP_PASSWORD:
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: login
## Die CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## Diese Container sind 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
## Das docker_manager-Plugin ermöglicht Ihnen ein Upgrade von Discourse mit einem Klick
## http://discourse.example.com/admin/docker
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone https://github.com/discourse/docker_manager.git
# - git clone https://github.com/discourse/discourse-chat-integration.git
# - git clone https://github.com/gdpelican/babble.git
# - git clone https://github.com/discourse/discourse-solved.git
# - git clone https://github.com/discourse/discourse-adplugin.git
# - git clone https://github.com/communiteq/discourse-sitemap.git
# - git clone https://github.com/discourse/discourse-bbcode-color.git
## Denken Sie daran: Dies ist YAML-Syntax – Sie können nur einen Block mit einem Namen haben
run:
- exec:
cd: $home
cmd:
- rm -fr public/assets
- sudo -E -u discourse bundle exec rake assets:precompile
- mkdir -p public/community
- cd public/community && ln -s ../uploads && ln -s ../backups
- replace:
global: true
filename: /etc/nginx/conf.d/discourse.conf
from: proxy_pass http://discourse;
to: |
rewrite ^/(.*)$ /community/$1 break;
proxy_pass http://discourse;
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: etag off;
to: |
etag off;
location /community {
rewrite ^/community/?(.*)$ /$1;
}
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: $proxy_add_x_forwarded_for
to: $http_fastly_client_ip
global: true
- exec: echo "Ende der benutzerdefinierten Befehle"
Ich habe alle Plugins in der YML-Konfiguration deaktiviert, aber es treten weiterhin 404-Fehler bei den Assets auf. Im App-Container ist der Ordner “community” bereits erstellt.
there are 2 folders in /public/community i.e. “backup” and “uploads”. I tried changing the version from tests-passed to stable again but the issue remains the same i.e. no javascript or CSS files and giving 404 error… I also tried to change the permission for the “uploads” folder in community and symlinked assets folder in community but did not help.
Downgrading isn’t possible, if you’re on tests-passed you can’t rebuild on a lower version (beta/stable).
You would need to stay on the current tests-passed release until Stable or Beta catches up.
Subfolder installs are considered an advanced topic and we really can’t support them here because of all the problems which arise. There are pages and pages of topics detailing the types of problems found when installing against a subfolder. In 2019 there’s really no good reason to use a subfolder install, all of the SEO claims have been debunked, and the added complexity really adds nothing of value.
Even on CDCK hosting, subfolder installs are only available to enterprise customers, with an additional fee.
I would suggest reverting to a subdomain, or opening a topic on marketplace to engage with a consultant.
I destroyed the container and then rebuild it with the stable release, the problem is with the assets i.e. CSS or javascript files which are not being found. This error happened probably in the update of May. Is there a way I install the previous versions?
Destroying the container doesn’t help, your database was migrated, and as I’ve already said above there’s no way to migrate back. If you didn’t take a backup prior to upgrade you’re stuck at tests-passed until beta or stable reaches the same level.
Derzeit versuche ich zunächst eine Neuinstallation, wie Sie im ersten Beitrag sehen können, funktioniert sogar die Registrierungsseite nicht richtig. Ich habe assets:precompile versucht, aber es hat keine Wirkung gezeigt. Gibt es eine Möglichkeit, eine ältere Version von Discourse Docker zu installieren?
Es sei denn, du möchtest dieses Forum nur ein oder zwei Wochen lang nutzen und es dann löschen, solltest du das wirklich, wirklich, wirklich nicht tun.
Ich vermute, du hast irgendwo einen winzigen Schritt übersehen, der das Problem verursacht, wahrscheinlich in der externen Nginx-Konfiguration. Du solltest das mit der neuesten Version herausfinden.
Ja, es funktioniert nicht, deshalb bleibe ich bei 404-Fehlern hängen. JavaScript-Dateien werden nicht geladen und führen zu 404-Fehlern, wie im ersten Beitrag gezeigt.
Das liegt daran, dass die Konfigurationsdatei in der Vergangenheit nicht funktioniert hat. Die Datei, die ich derzeit verwende, wurde von @neilhier vorgeschlagen und hat früher funktioniert. Ich habe auch versucht, die dort hochgeladene Konfigurationsdatei zu verwenden, aber auch diese hat nicht funktioniert.
Hallo @john3, die Installation in einem Unterordner ist schmerzhaft
Ich habe meine Konfiguration (links) mit deiner (rechts) verglichen. Schau dir bitte Zeile 12 an; wahrscheinlich hast du das Wort forum nicht geändert. Außerdem habe ich einen zusätzlichen Block replace in den Zeilen 22–29:
Ich habe die Änderungen vorgenommen, aber es ist immer noch dasselbe. Meine Konfigurationen sind unten aufgeführt. Ich verwende CentOS 7 mit dem Device-Storage-Treiber overlay2.
Ich verstehe… Ich verwende einen Digital Ocean Droplet mit CentOS 7 und dem overlay2 Storage-Treiber. Als Webserver nutze ich Nginx und die SSL-Zertifikate von Let’s Encrypt.