Comment collecter tous les actifs statiques (js, css) utilisés par Discourse

Merci beaucoup. J’ai également constaté que certains assets statiques (comme les CSS) sont placés dans /var/www/discourse/tmp/stylesheet-cache. Mais il y a deux autres problèmes :

  1. Les utilisateurs téléversent des assets comme des avatars, qui sont ensuite servis par le CDN après avoir configuré DISCOURSE_CDN_URL. Cependant, pousser les assets téléversés vers GitHub à chaque fois qu’un utilisateur effectue un téléversement ne semble pas être une bonne solution.
  2. Lorsque Discourse demande un avatar utilisateur comme 2_2.png, il : 1) divise le nom de fichier, 2) effectue certaines vérifications, 3) calcule le vrai nom de fichier en utilisant un hachage. Si je dois servir les avatars utilisateurs, je dois implémenter moi-même la même logique, car il n’existe aucun fichier nommé 2_2.png.

Ma solution finale est simple. 1) J’ajoute Nginx devant mon forum, comme dans ce post. 2) Je collecte tous les assets statiques depuis le chemin ci-dessus et je les pousse vers GitHub. 3) Dans le fichier de configuration de Nginx, j’ajoute des règles comme :

location ~/(stylesheets|assets) {
    return 301 https://cdn.jsdelivr.net/gh/my_github/my_repo/$request_uri;
}

Merci encore @schleifer