Cela fait exactement un mois que Discourse me renvoie une erreur 404 sur les fichiers d’actifs (CSS, JS, etc.) depuis que j’ai effectué un « git pull » suivi d’un « rebuild » vers le 15 mai, alors qu’il me demandait de mettre à niveau via la ligne de commande sur la page de mise à niveau automatique.
Et aujourd’hui, après plusieurs jours, j’ai essayé de réinstaller à nouveau, mais le problème persiste, même s’il s’est écoulé plusieurs jours. Le contenu de mon fichier app.yml est fourni ci-dessous.
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ exécuter un rebuild pour que
## les changements prennent effet sur votre instance Discourse en direct :
##
## /var/discourse/launcher rebuild app
##
## Assurez-vous de respecter la syntaxe YAML ! Vous pouvez utiliser ce site pour vérifier :
## http://www.yamllint.com/
## Ceci est le modèle de conteneur Docker Discourse tout-en-un, autonome
# Vous pouvez ajouter une limitation de débit en décommentant le modèle web.ratelimited.
# Par défaut, il autorise 12 req/s par IP et 100 req/min par IP.
# Cela est configurable en modifiant les paramètres dans ce fichier.
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 : Le serveur de messagerie que cette instance Discourse utilisera
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
## L'adresse CDN pour cette instance Discourse (configurée pour récupérer)
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## Ces conteneurs sont sans état, toutes les données sont stockées dans /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Le plugin docker manager vous permet de mettre à niveau Discourse en un clic
## 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
## Rappelez-vous, ceci est de la syntaxe YAML - vous ne pouvez avoir qu'un seul bloc avec un nom
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 "Fin des commandes personnalisées"
J’ai désactivé tous les plugins dans la configuration YAML, mais j’ai toujours une erreur 404 sur les actifs. Dans le conteneur de l’application, le dossier “community” est déjà créé.
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.
Currently, I am trying a fresh installation first, as you can see in the first post even the registration page is not working fine. I have tried assets:precompile but its same no effect. Is there a way I can try to install an older version of discourse docker?
Unless you want to use this forum for a week or two and then delete it, you really, really, really don’t want to do that.
My guess is that you missed some tiny step somewhere that’s causing the problem, probably in the external Nginx config. You want to figure it out with the latest version.
That’s because that config file didn’t work in the past, so the one I am using now was suggested by @neilhere and it worked in the past. Currently, I also tried the config file uploaded there, but that didn’t work too.
I compared my config (left) and yours (right), take a look at line 12, probably you forgot to change word forum. Next, I have extra block replace, lines 22-29: