Este proyecto es una aplicación web desarrollada con Django y Django REST Framework, contenida completamente mediante Docker y Docker Compose. Incluye una base de datos PostgreSQL, un servidor Redis para caché y tareas asincrónicas, y una interfaz de administración pgAdmin para gestionar la base de datos.
.
├── core/ # Código fuente de Django
├── Dockerfile # Dockerfile del servicio web
├── docker-compose.yml # Orquestador de servicios
├── .env # Variables de entorno (no versionar)
└── README.md # Documentación del proyecto
| Servicio | Puerto Local | Descripción |
|---|---|---|
web |
8001 |
Aplicación Django (DRF) |
db |
5432 |
Base de datos PostgreSQL |
pgadmin |
80 |
Interfaz gráfica de PostgreSQL |
redis |
6379 |
Servidor de cacheo y mensajes |
git clone https://github.com/greghades/RootNetBackend.git
cd tu-carpetaCrea un archivo .env en la raíz del proyecto basado en el siguiente ejemplo:
# Entorno de la app
APP_ENV=development
DEBUG=1
# Configuración de Django
DJANGO_HOST=0.0.0.0
DJANGO_PORT=8001
# Base de datos PostgreSQL
POSTGRES_DB=nombre_de_tu_bd
POSTGRES_USER=usuario
POSTGRES_PASSWORD=contraseña
# pgAdmin
PGADMIN_DEFAULT_EMAIL=admin@example.com
PGADMIN_DEFAULT_PASSWORD=admin
# Redis
REDIS_URL=redis://redis:6379/0docker-compose up --builddocker-compose downdocker-compose exec web bashdocker-compose exec web python core/manage.py migratedocker-compose exec web python core/manage.py createsuperuser- Django App: http://localhost:8001/
- pgAdmin: http://localhost
- Usuario:
${PGADMIN_DEFAULT_EMAIL} - Contraseña:
${PGADMIN_DEFAULT_PASSWORD}
- Usuario:
Para conectar la base de datos en pgAdmin, usa los siguientes datos:
- Host:
db - Puerto:
5432 - Usuario:
${POSTGRES_USER} - Contraseña:
${POSTGRES_PASSWORD} - Base de datos:
${POSTGRES_DB}
Para eliminar volúmenes y recursos asociados:
docker-compose down -v- Docker
- Docker Compose
- Python ≥ 3.9 (solo si se usa localmente fuera de Docker)