Actualmente estoy trabajando en un sistema personalizado de almacenamiento de archivos basado en la nube. El backend está casi terminado y se supone que se implementará en una computadora personal o en un servidor basado en la nube. El front-end está en progreso y será una aplicación de Flutter.
El backend es atendido por Nginx, que está encima de una aplicación Node JS que usa MongoDB como base de datos y redis para el caché (así como el almacenamiento local para los propios archivos).
En el mejor de los casos, me gustaría agrupar toda la pila de back-end en un ejecutable (y tal vez un ejecutable de configuración para instalar la pila requerida y configurarla).
Mi pregunta es, ¿puede NodeJS solo manejar esto? He buscado y descubrí que se puede configurar un script de inicio dentro de la aplicación Node, pero ¿sería suficiente? ¿O debo buscar un código bash o incluso Java para envolver todo?
Realmente no sé en qué dirección de chat mirar, así que estoy realmente abierto a cualquier sugerencia aquí, ¿cuál sería la mejor manera de hacer esto?
¿Has considerado usar docker y docker-compose ?
Puede crear un DockerFile que se utiliza para crear el contenedor de su aplicación e incluir toda su pila en un archivo docker-compose.yml .
Luego, con docker y docker-compose instalados, puede traer toda su pila en cualquier entorno.
Para obtener más información, puede consultar la documentación de Docker, este artículo también puede ayudarlo :)