EthicApp-Development / casevault-main

CaseVault is a content repository for case-based learning
MIT License
1 stars 2 forks source link

[main] Creación de configuración Docker para producción #59

Open claudio-alvarez opened 2 months ago

claudio-alvarez commented 2 months ago

Necesitamos contar con una configuración Docker para producción:

Ir probando todo lo anterior podría no ser tan simple, así que avancemos de la siguiente manera:

  1. Primero hagamos un docker-compose que incluya nginx, redis, postgres, etc.
  2. Configuremos rails en producción para operar con reglas de CORS relajadas (origen *).
  3. Probamos esta configuración de producción en forma local y verificamos que funciona correctamente la aplicación.
  4. Hacemos funcionar la configuración de CORS de Rails desde variables de entorno (.env) para ir poniendo las restricciones necesarias de CORS, y en este punto probamos efectivamente el servidor.
claudio-alvarez commented 1 month ago

Consideremos que en el ambiente de staging que usamos - en donde tenemos a EthicApp - ya contamos con servicios de postgres y redis. Entonces, lo que tendríamos que hacer configurar docker-compose para usar una red compartida, que permita que EthicApp y CaseVault compartan los servicios, en vez de replicar los servicios. Para esto, podemos crear una configuración de docker compose para CaseVault que solamente contenga servicios rails y nginx (para servir el frontend).

Aquí hay alguna información sobre cómo crear una red compartida:

https://chatgpt.com/share/66fed96a-cf08-800b-a268-e6c62dc3955b

Tenemos que ser cuidados en definir variables de entorno apropiadas para configurar las credenciales de usuario y nombre de base de datos, etc. Como modelo, quedan las configuraciones de EthicApp con las que se puede encontrar cierta inspiración:

https://github.com/EthicApp-Development/ethicapp-main