Quel chemin pour que nginx de prod serve un build d'app?

Bonjour,
J’arrive à faire un preview de mon app dans la stack dev

Mais une fois l’app montée dans la stack de prod, j’imagine que c’est nginx qui prend le relais, sauf qu’aucun des chemins que j’ai essayé dans l’URL ne renvoie le build de l’app.
Dans le dossier de l’app, on voit que le build est dans public/mytodo/ (assets a les fichiers js, css et fonts créés durant le build)

Ce n’est pas une app bureau.
Donc quel est le chemin ?

Bonjour @pmz,

Peu importe l’environnement, le bon dossier pour mettre le fichier index.html est www/ :

mon_appli/
- www/
  - ma_page/
    - index.html
    - index.py
- public/
  - ma_page/
    - assets/
1 Like

Merci @corentin
Ah ben, j’étais loin effectivement :smile:
Et du coup, le chemin c’est 0.0.0.0:8080/mon_appli/??? mon_appli/www/ma_page/ ou autre chose ?

Ah oui, et le chemin final sera directement Ă  la racine, donc /ma_page (on peut imbriquer des dossiers si besoin).

D’ailleurs c’est le cas pour le Bureau (/app), qui est lui-aussi une route web : frappe/www/app.html

Si tu veux aller plus loin, tu peux aussi rediriger plusieurs chemins/URLs vers la même route (exemple du SPA de l’appli Bookings) :

# hooks.py
website_route_rules = [
	{"from_route": "/toto", "to_route": "ma_page"},
	{"from_route": "/toto/<path:chemin>", "to_route": "ma_page"},
]

Ah d’accord, merci !!
C’est quelque part dans les docs ? J’ai cherché dans la doc Dokos, dans celle de Frappe, c’est pas aussi clair que toi dans ce post.

Je ne crois pas… peut-être qu’un jour je pourrais écrire une page de documentation sur ce sujet qui mérite tant de soin.

Toutes ces connaissances viennent de la lecture du code, et éventuellement de la communauté, par imitation d’applis existantes aussi (Frappe CRM, etc.) :

1 Like