Guia de entorno local¶
Objetivo¶
Este documento explica como ejecutar SEO Growth Engine en desarrollo y que piezas son opcionales o necesarias segun el nivel de realismo que se quiera alcanzar.
Preparacion inicial¶
El repositorio no debe incluir el archivo .env real porque contiene secretos locales, claves API y configuracion privada de cada maquina. Para preparar el entorno:
Para una revision local basica, DATABASE_URL puede quedarse comentado y OPENAI_API_KEY vacia. La aplicacion arranca con SQLite, cola local por hilo y correo por consola.
Opciones de trabajo local¶
Opcion 1: modo minimo¶
Pensado para revisar backend y vistas con la menor configuracion posible.
- Base de datos:
SQLite - Cola:
thread - Frontend: assets ya compilados servidos por Django
Variables minimas recomendadas:
DJANGO_DEBUG=1
DJANGO_SECRET_KEY=change-me-with-a-long-random-local-secret
DJANGO_ADMIN_URL=admin/
DJANGO_TASK_QUEUE_BACKEND=thread
OPENAI_API_KEY=
Comandos base:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage.py migrate
python manage.py bootstrap_dashboard --username tutor --password tutor123 --email tutor@example.com
python manage.py runserver
Opcion 2: stack completo sin contenedores¶
Pensado para acercarse mas al comportamiento real de produccion.
- Base de datos:
PostgreSQL - Cola:
Redis + RQ - Frontend: build de Vite o servidor de desarrollo
Variables recomendadas:
DJANGO_DEBUG=1
DJANGO_SECRET_KEY=tu-clave-local
DJANGO_ADMIN_URL=admin/
DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/seo_growth_engine
DJANGO_DB_SSL_REQUIRE=0
REDIS_URL=redis://127.0.0.1:6379/0
DJANGO_TASK_QUEUE_BACKEND=rq
OPENAI_API_KEY=sk-...
OPENAI_AI_VISIBILITY_MODEL=gpt-5-mini
Comandos base:
Frontend:
Opcion 3: stack local con Docker¶
El repositorio incluye:
Dockerfile.dockerignoredocker-compose.ymldeploy/entrypoint.sh
Comandos base:
Para entrar al workspace despues de levantar los contenedores:
docker compose exec web python manage.py bootstrap_dashboard --username tutor --password tutor123 --email tutor@example.com
Estado actual:
- validado localmente el
2026-05-18 web,worker,dbyredisarrancan correctamente- la web responde en
http://127.0.0.1:8000/
Mas detalle en docker.md y deployment-evidence.md.
Variables importantes¶
DJANGO_SECRET_KEY: obligatoria; en produccion debe ser larga y secreta.DJANGO_ADMIN_URL: en produccion no debe quedarse enadmin/.DATABASE_URL: activa Postgres cuando existe.REDIS_URL: activa la cola externa cuando se usarq.DJANGO_TASK_QUEUE_BACKEND:auto,threadorq.OPENAI_API_KEY: necesaria para AI Visibility real.DJANGO_USE_X_FORWARDED_HOSTyDJANGO_USE_SECURE_PROXY_SSL_HEADER: necesarias si hayNGINXo proxy delante.
Limitaciones reales¶
- Sin dependencias Python instaladas localmente no es posible ejecutar
manage.pyfuera de Docker. - Sin
node_modulesno es posible regenerar localmente el build de Vue. NGINXsigue documentado, pero no validado todavia connginx -t.- No hay evidencia remota real de despliegue en VPS desde este repositorio.