En Windows, Docker Desktop contiene ambos programas.
En Linux, deben instalarse con apt-get. Además hay pasos adicionales.
IDE de Python (por ejemplo, Pycharm Community o Pycharm Professional con la licencia de estudiante)
Python 3.6 o superior
IDE para Vue (Visual Studio Code es gratuito)
Instalación y configuración
Confirmar que Docker funcione (docker run hello-world debe mostrar el mensaje de éxito, y docker-compose --version debe imprimir una versión)
Seleccionar o crear una carpeta raíz (por ejemplo, el escritorio, Descargas o la carpeta Home). En adelante, esta carpeta será llamada PREFIX (por ejemplo, /home/username/Desktop)
Descargar el archivo docker-compose.yml y moverlo a PREFIX.
Crear una carpeta llamada nginx en PREFIX.
Descargar el archivo nginx.conf y moverlo a PREFIX/nginx.
Instalar los paquetes indicados en requirements.txt (django, djangorestframework, python-decouple, requests). Se pueden instalar manualmente o ejecutar pip install -r requirements.txt.
En este punto, PREFIX debe contener los siguientes archivos/carpetas:
El archivo docker-compose.yml
Una carpeta nginx con el archivo nginx.conf
Una carpeta projects, vacía
Una carpeta app con el código de la app de Django (core/, templates/, IngSoft1/, manage.py, etc) Y ADEMÁS una carpeta frontend con el código de la aplicación de Vue
(HACK) Por ahora, ejecutar npm install en la carpeta PREFIX/app/frontend
Ejecución
Abrir un terminal en la carpeta PREFIX
Ejecutar PREFIX=. docker-compose up para iniciar los servidores de NodeODM (puerto 3000), Geoserver (puerto 8080), PostgreSQL (puerto 5432), Vue (puerto 8001) y Django (puerto 8000), además de Nginx.
El servidor de Django se inicia con los demás cuando se ejecuta docker-compose. Por lo tanto, NO se debe ejecutar el servidor de Django desde Pycharm.
(HACK) Ejecutar python manage.py migrate y python manage.py createsuperuser desde Pycharm. Estos cambios serán detectados por el servidor, pero solamente porque usa una base de datos SQLite y el archivo db.sqlite3 está compartido entre la computadora y el contenedor.
Para detener los servidores, presionar Ctrl+C en la consola que muestra los logs de Docker. Si algún servidor no se detiene, PREFIX=. docker-compose down fuerza la detención.