Documenta como o cursos.overia.com.br e construido (LearnHouse 1.3.6 community no NAS4, login pelo Keycloak via oauth2-proxy e ponte, tema overia injetado pelo nginx, aulas por proxy /aulas), as armadilhas ja encontradas, o runbook de publicacao, rollback, backup e atualizacao, e as decisoes e pendencias. learnhouse-upstream.md resume o repositorio e a documentacao oficiais e marca onde a doc diverge do codigo da imagem (cookies LH_*, politica de login por organizacao). deploy/publicar-tema.sh publica deploy/theme e o nginx.prod.conf com nginx -t e volta automatica; recebe host, porta, usuario e senha por variaveis de ambiente. O repositorio e publico: nenhum IP, porta, usuario, conta ou segredo nos arquivos. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cursos
Pipeline + conteúdo de cursos para publicar em cursos.overia.com.br (LearnHouse), um curso por tecnologia.
Estrutura
courses/<slug>/course.json
courses/<slug>/<NN> - <Nome do Capítulo>/<NN> - <Nome da Aula>.md
course.json guarda os metadados do curso (name, description, about,
public). Nome de capítulo/aula vem do nome da pasta/arquivo, prefixado por
um número de ordem (ex: 01 - Introdução, 02 - Instalando o Python.md).
.env
LEARNHOUSE_API_TOKEN=
LEARNHOUSE_BASE_URL=
LEARNHOUSE_ORG_ID=
LEARNHOUSE_ORG_SLUG=
GITEA_RAW_BASE=
GITEA_RAW_BASE é a base usada pra montar a URL de cada aula Markdown. Use
https://cursos.overia.com.br/aulas: o nginx do LearnHouse repassa /aulas/<caminho>.md
pra https://git.xenserver.com.br/ai-bot/cursos/raw/branch/main/courses/<caminho>.md.
Não use a URL raw do Gitea direto: ela não envia Access-Control-Allow-Origin e o
navegador bloqueia a leitura (a aula mostra "Failed to fetch").
Uso
uv run python -m scripts.publish <slug> [--dry-run|--publish]
--dry-run: mostra a árvore de curso/capítulos/aulas e as URLs geradas, sem chamar a API.--publish: além de criar/atualizar o curso, marca atividades e curso como publicados. Sem essa flag, tudo fica em rascunho.
Description
Serie de cursos para cursos.overia.com.br (LearnHouse) - pipeline de publicacao + conteudo
Languages
Python
56.9%
CSS
36.6%
Shell
3.6%
JavaScript
2.9%