Vive junto a la página porque es su documentación, pero quedaba servido en /README.md: rutas de la caja y el procedimiento del vhost, que no son para el visitante. El bloque del README se sincroniza con el que quedó en la caja para que no derive.
takana-os.net — el sitio del proyecto
Una sola página, autocontenida, en dos idiomas y dos temas. No le pide nada a terceros: las
tipografías de la marca (Chivo e IBM Plex, las dos SIL OFL) viajan acá en fuentes/, subconjuntos
latin y latin-ext, 154 KB en total. Un sitio sobre no depender de binarios ajenos que cargara
las fuentes de Google en cada visita sería una contradicción barata.
index.html |
la página entera: CSS y JS adentro, el símbolo como <symbol> SVG inline |
fuentes.css + fuentes/ |
las ocho caras @font-face, servidas de acá |
simbolo.svg |
el favicon — el martillo tocapu 7×7, derivado de docs/marca/simbolo-fondo-claro.svg |
La paleta y la tipografía salen de docs/marca/README.md y no se inventan acá. La única
desviación, deliberada: en tema claro el texto de acento usa un brasa oscurecido (#9E3F16), porque
el #DF6B2A de la marca sobre alpaca da 2,9:1 y no se lee. Las combinaciones de la página están
medidas: ninguna baja de 4,5:1.
Las dos direcciones que publica
- código →
https://git.gioser.net/sergio/takana(público;git clonepor HTTPS) - paquetes →
https://takana-os.net/repo/, que es el MISMO/srv/repofirmado que sirverepo.gioser.net. Comprobado:takana install age --repo https://repo.gioser.net --trust ./trustresponderelease: trusted (by release).
⚠ takana repo list --repo <url> no habla HTTP — sólo directorios locales — y ante una URL dice
«repo vacío» con salida 0 en vez de decir que no sabe. El que sí baja por red es install --repo.
Cómo se sirve
Caddy, en la caja takana, vhost takana-os.net, www.takana-os.net. La raíz es
/work/sergio/takana/web/takana-os.net, el árbol de trabajo vivo: publicar es guardar el
fichero. No lo refresca publicar-webs.sh a propósito — un pull sobre el árbol compartido mueve
HEAD bajo los pies de otro agente (CLAUDE.md §2 ter).
Este README no se sirve: son notas de operación, y el matcher del vhost las 404ea.
El bloque, por si hay que rehacer la caja (caddy validate → arjectl restart caddy, nunca
caddy reload: el Caddyfile lleva admin off, SDD 28 §6.14):
takana-os.net, www.takana-os.net {
import acceso
encode gzip zstd
redir /repo /repo/ permanent
handle_path /repo/* {
root * /srv/repo
file_server browse
}
handle {
root * /work/sergio/takana/web/takana-os.net
@oculto path /.* */.* /README.md
respond @oculto 404
file_server
}
}
DNS
El dominio se registró el 2026-09-21 y el vhost está puesto antes que los registros: hasta que
takana-os.net resuelva a la caja, Caddy no puede pedir el certificado y el nombre no responde.
Hacen falta dos A a 2.29.29.217 (la IP de la caja), igual que la de repo:
takana-os.net. A 2.29.29.217
www.takana-os.net. A 2.29.29.217
Con eso puesto, el certificado sale solo en la primera petición — y tarda unos segundos más que
el primer curl: si da error, reintentar antes de ir a mirar logs (SDD 28 §6.14).