docloud.es/CLAUDE.md
Deploy Bot eef3370f76
All checks were successful
Deploy Site / deploy (push) Successful in 34s
Initial setup docloud.es - sitio principal con index
2026-01-06 10:49:04 +00:00

3.4 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

Static website for DO CLOUD (Internet Cloud Services SL) built with docmd (@mgks/docmd), a Markdown-to-HTML static site generator. The site is automatically deployed via Forgejo Actions CI/CD to a Docker container behind Traefik reverse proxy.

Build & Deploy

# Install dependencies
npm install

# Build site locally (outputs to ./site/)
npm run build

# Deploy happens automatically on push to main branch
git push origin main

The CI/CD pipeline (.forgejo/workflows/deploy.yml) builds a Docker image and deploys to docloud.ics53.vpn9.com.es with Traefik labels for SSL.

Architecture

Push to Forgejo → Forgejo Runner → Docker build → Traefik serves with SSL

Key files:

  • docmd.config.js - Site configuration (title, navigation, theme, SEO)
  • nginx.conf - Custom nginx config with caching and security headers
  • Dockerfile - Multi-stage build: node:20-alpine builds, nginx:alpine serves
  • assets/custom.css - Brand styling overrides
  • robots.txt / sitemap.xml - SEO files (copied post-build)

Content files (Markdown):

  • index.md - Homepage
  • quienes-somos.md, contacto.md - Main pages
  • aviso-legal.md, politica-*.md - Legal pages

Brand Guidelines

From branding_pack/brand-guide.md:

  • Primary blue: #0A6CFF
  • Turquoise: #1FD1C3
  • Dark blue: #0B1E3B
  • Light gray: #F2F4F7
  • Font: Inter (Google Fonts)

Logo files in branding_pack/ (SVG preferred for web).

Performance Notes

The Dockerfile includes post-build optimizations:

  • Removes mermaid.js (~816KB) since diagrams aren't used
  • nginx config sets 1-year cache for static assets
  • Gzip compression enabled

Use absolute paths with leading / for internal links to work from any page:

[Link Text](/page-name/)

docmd generates directory structure (/page/index.html), not flat HTML files.

Server Administration

Documentation

Document Path Description
Guia DOCMD /root/guia-docmd.md Manual completo de administracion de sitios
Instrucciones /root/instrucciones.md Especificaciones tecnicas del servidor
Brand Guide branding_pack/brand-guide.md Guia de identidad visual DO CLOUD

Server Paths

Component Path
Sites directory /opt/sites/
Traefik config /opt/traefik/
Traefik certificates /opt/traefik/acme.json
Site provisioning script /opt/scripts/docmd-site.sh
Forgejo Runner config /opt/config.yaml
Runner service systemctl status forgejo-runner

Common Admin Commands

# Ver contenedores activos
docker ps

# Ver logs de un sitio
docker logs <site-name>

# Reiniciar runner CI/CD
systemctl restart forgejo-runner

# Crear nuevo sitio
/opt/scripts/docmd-site.sh --owner <user> --site <domain>

# Forzar rebuild de un sitio
cd /opt/sites/<domain> && git commit --allow-empty -m "rebuild" && git push

# Ver certificados SSL
cat /opt/traefik/acme.json | jq '.myresolver.Certificates[].domain'

Infrastructure

  • Server: ics53.vpn9.com.es (164.132.1.53)
  • Wildcard DNS: *.ics53.vpn9.com.es → 164.132.1.53
  • Forgejo: https://forgejo.dock698.vpn9.com.es
  • Traefik: Reverse proxy with automatic Let's Encrypt SSL