Skip to content

Latest commit

 

History

History
64 lines (43 loc) · 3.17 KB

dev.md

File metadata and controls

64 lines (43 loc) · 3.17 KB

Configuración del entorno de desarrollo

Entorno Docker

Este proyecto tiene requisitos variados que hacen altamente recomendable configurar un entorno de desarrollo usando Docker Compose.

  1. Clona este repositorio.
  2. Inicia los contenedores:
    $ docker-compose up  # Deja esto ejecutando y abre una nueva pestaña

    Si obtienes un error de tipo "Version is unsupported" debes tener en cuenta esta documentación sobre versiones del fichero compose.

  3. Ejecuta las migraciones de la base de datos:
    $ docker-compose exec web ./manage.py migrate
  4. Añade datos iniciales de pruebas a la base datos (necesitarás esto para testear la app):
    $ docker-compose exec web ./manage.py dbload

Si dispones de un volcado de la base de datos de pruebas o producción, puedes cargarlo así, en sustitución de los pasos 3 y 4:

$ docker-compose exec -T database /bin/bash -c \
'PGPASSWORD=$POSTGRES_PASSWORD psql -U $POSTGRES_USER -d $POSTGRES_DB' < /path/to/db_dump.sql

Para reproducir este último paso más adelante, asegúrate primero de borrar el volumen de la base datos con: docker volume rm pycan-web_database-data que sólo podrás hacer parando los contendores previamente.


  1. Crea un superusuario que te permita acceder a la interfaz administrativa de Django:
    $ docker-compose exec web ./manage.py create_default_admin  # admin | admin

Eso es todo, ahora puedes visitar http://localhost:8000/

Nótese que tanto la base de datos y la app web enlazan sus puertos de los contenedores a los del sistema host. Si tienes conflictos con puertos, puedes exportar las variables de entorno PYCAN_DB_PORT y, PYCAN_APP_PORT con los puertos elegidos en el sistema host para, respectivamente, la base de datos y la app, antes de ejecutar docker-compose up.

Interfaz Administrativa

Puedes acceder a la interfaz administrativa de Django yendo a http://localhost:8000/admin/ usando las credenciales admin / admin.

Multimedia

Si dispones de ficheros multimedia para testing o como copias de producción, puedes dejarlos en el directorio $PROJECT/media. Hay un volumen de Docker Compose configurado para cargarlos desde ahí.

Si queremos sincronizar desde producción, podemos ejecutar lo siguiente desde la carpeta raíz del proyecto en desarrollo:

rsync -avz --delete prod-server:/path/to/media .

VSCode y Docker

Si usas Visual Studio Code, puedes enlazar un contenedor remoto y configurar el IDE para usarlo. Para ello recomendamos instalar la extensión Remote - Containers.

El directorio .devcontainer contiene la configuración necesaria para dar soporte a esta integración. Sigue estas instrucciones para habilitarlo.

⭐  Python Malaga tiene un buen tutorial de cómo configurar VSCode usando Docker.