Cómo instalar Ourschool en Docker - Gestor de homeschool autohospedado en Docker

Ourschool | Homeschool Management | Docker

Ourschool: Gestor de homeschooling autohospedado en Docker

Plataforma para familias homeschooling. Asistencia, calificaciones, tareas, reportes. Multi-usuario (padres/alumnos). Gamificación. Django + PostgreSQL. Open source. Self-hosted completo.

¿Qué es Ourschool?


Ourschool es una plataforma de gestión de homeschooling completamente gratuita y open source diseñada para familias que enseñan en casa. Maneja el lado administrativo — asistencia, calificaciones, tareas, reportes, progreso — para que los padres puedan enfocarse en la enseñanza real.

Diferenciador clave: Está hecho POR gente que hace homeschooling PARA gente que hace homeschooling. No es una solución educativa genérica. Es específica para familias que toman en serio la asistencia, calificación cuidadosa de asignaciones, y documentación.

Características principales: Tracking de asistencia diario con status y notas. Gestión de materias/subjects con descripción y fecha inicio/fin. Asignaciones con descripción, fecha vencimiento, calificaciones, comentarios. Reportes con exportación. Sistema de puntos gamificado (motivar estudiantes). Multi-usuario: padres (admin) ven todo; estudiantes ven solo su progreso. Autenticación separada. Respuestas automáticas en primer inicio (migración + seed admin account). Backup/restore integrado con preview dry-run. Dashboard por rol. Django (Python) + PostgreSQL + Vite frontend. Beta estable (v1.0.0-beta). Planned stable release 2026-2027.

Para familias homeschooling: Un solo lugar para toda la documentación administrativa. Padres controlan, estudiantes ven progreso. Sin spreadsheets. Sin apps externas.

Características principales

Asistencia diaria

Log de presencia con status (presente/ausente/etc) y notas. Histórico completo.

Gestión de materias

Define subjects, fechas, descripción. Organiza curriculum.

Asignaciones

Crear, asignar fecha vencimiento, calificar, comentarios. Tracking.

Calificaciones

Numérico, letras, o custom. Cálculo automático promedio.

Reportes

Progreso académico. Exportable (PDF/CSV). Documentación.

Gamificación

Sistema de puntos. Motivar estudiantes. Logros, badges, rewards.

Multi-usuario

Roles: Padres (admin), Estudiantes (viewer). Auth separada.

Dashboard por rol

Padres ven ALL. Estudiantes ven solo THEIR progress + grades.

Backup/Restore

Sistema integrado. Dry-run preview antes de restore. Seguro.

Responsive

Desktop, tablet, móvil. Interface amigable.

Open source

Código abierto. Customizable. Libre de vendor lock-in.

Self-hosted

Control total. Datos 100% tuyos. Sin SaaS.

Estado del proyecto (importante)

Beta en desarrollo: Ourschool es v1.0.0-beta.5. Pre-estable. El schema de base de datos PUEDE tener cambios breaking hasta la planned stable release (2026–2027). Usa el sistema integrado backup/restore (con dry-run preview) para salvaguardar datos entre updates. OK para production homeschooling siempre y cuando hagas backups regulares.

Requisitos del sistema

  • Docker & Docker Compose
  • 1-2 GB RAM (Django + PostgreSQL)
  • 5+ GB espacio disco (BD + archivos)
  • Puerto 4173 (o custom en Caddy)
  • PostgreSQL (incluido en docker-compose, o externo)
  • SECRET_KEY (generado via openssl)
  • Navegador moderno
Setup rápido: 4 pasos. Download compose, .env, generate SECRET_KEY, docker compose up. Listo.

Instalación con Docker Compose (4 pasos)

Paso 1: Descargar archivos

mkdir ourschool && cd ourschool curl -O https://raw.githubusercontent.com/DGAzr/ourschool/main/docker-compose.ghcr.yml curl -O https://raw.githubusercontent.com/DGAzr/ourschool/main/env.EXAMPLE

Paso 2: Configurar .env

cp env.EXAMPLE .env # Generar SECRET_KEY fuerte openssl rand -hex 32 # Copia el resultado y edita .env nano .env # Reemplaza SECRET_KEY = [resultado arriba] # Cambiar DATABASE_URL si usas DB externa

Paso 3: Iniciar con BD local (incluida)

docker compose -f docker-compose.ghcr.yml --profile local-db up -d # Espera 30-60 segundos # Backend auto-migra y seed admin account

Paso 4: Acceder

http://localhost:4173 - Dashboard Ourschool

Primer login (CAMBIAR INMEDIATAMENTE!)

  • Usuario: admin
  • Contraseña: admin123
  • ⚠️ CAMBIAR CONTRASEÑA INMEDIATAMENTE después de login. Credenciales default son público.

Si usas BD externa

# Omitir --profile local-db docker compose -f docker-compose.ghcr.yml up -d # DATABASE_URL en .env debe apuntar a tu PostgreSQL

Primeros pasos

1. Cambiar contraseña admin

  1. Login con admin / admin123
  2. Settings → Change Password
  3. Actualiza a contraseña fuerte
  4. Save

2. Crear estudiantes

  1. Dashboard → Students / Add Student
  2. Nombre, edad, grado (opcional)
  3. Crear cuenta de login para cada estudiante (auto-genera user/password)
  4. Comparte credenciales con ellos

3. Crear materias/subjects

  1. Dashboard → Subjects / Add Subject
  2. Nombre: "Matemáticas", "Historia", "Biología"
  3. Descripción (opcional)
  4. Fecha inicio/fin
  5. Save

4. Registrar asistencia

  1. Dashboard → Attendance
  2. Selecciona fecha y estudiante
  3. Status: Present, Absent, Sick, Tardy, etc
  4. Notas (opcional)
  5. Save

5. Crear asignaciones

  1. Dashboard → Assignments / New Assignment
  2. Título: "Capítulo 5 Matemáticas"
  3. Descripción: "Problemas 1-50 página 120"
  4. Subject: Selecciona materia
  5. Fecha vencimiento
  6. Asigna a estudiante(s)

6. Calificar asignaciones

  1. Dashboard → Assignments → select assignment
  2. Ver submissions de estudiantes
  3. Calificar: numérico o comentarios
  4. Comentarios/feedback
  5. Marcar como "Graded"

7. Ver reportes

  1. Dashboard → Reports
  2. Progreso por estudiante
  3. Promedio de calificaciones
  4. Exportar (PDF/CSV)

8. Sistema de puntos (gamificación)

  1. Dashboard → Rewards / Points System
  2. Asigna puntos por tareas completadas
  3. Estudiantes ven su progreso/badges
  4. Motivación integrada

Casos de uso

  • Familias homeschooling: Documentación administrativa. Cumplimiento legal. Registros.
  • Tutorías privadas: Track de estudiantes, asignaciones, progreso.
  • Pequeñas escuelas alternativas: Alternativa a sistemas SaaS caros.
  • Microschools: Ambiente familiar con estructura adminstrativa.
  • Co-op learning groups: Coordinación entre familias que comparten teaching.

HTTPS con Caddy (producción)

Caddyfile

school.tudominio.com { reverse_proxy localhost:4173 }

Acceso remoto seguro

https://school.tudominio.com con HTTPS automático

Estudiantes acceden remotamente

Desde cualquier dispositivo/ubicación: https://school.tudominio.com. Login y ven su dashboard.

Gestión y mantenimiento

Ver logs

docker compose logs -f

Backup integrado

Ourschool incluye sistema backup/restore en UI. Dashboard → Settings → Backup.

Backup manual BD

docker compose exec postgres pg_dump -U ourschool -d ourschool > ourschool-$(date +%Y%m%d).sql

Restore de backup

docker compose exec -i postgres psql -U ourschool -d ourschool < ourschool-20260522.sql

Reiniciar

docker compose restart

Actualizar a versión más reciente

docker compose pull docker compose up -d # Migraciones BD se aplican automáticamente

Monitorear consumo

docker stats

Comparativa con alternativas

vs Google Classroom / Microsoft Teams

Ourschool gana: Self-hosted, específico homeschooling, privado. Classroom gana: Integración ecosystem, más features.

vs Schoology / Canvas

Ourschool gana: Gratis, self-hosted, simple. Canvas gana: Enterprise, más features, soporte.

vs Spreadsheet (Excel/Sheets)

Ourschool gana: Interfaz bonita, multi-usuario, seguridad. Sheets gana: Flexibility total.

Mejor para: Familias homeschooling que quieren documentación simple, self-hosted, gratis. Específicamente diseñado para homeschool.

Comentarios

Entradas populares de este blog

NAS SYNOLOGY DSM 7.1 en VMware ESXI - Guía instalación y configuración Synology DSM 7.1 en VMWARE

Solución al error: «user is not in the sudoers file» en Debian

Comando "NET USE", uso, parámetros y algunos ejemplos de uso