3
Infraestructura
Rafa / Claude Code edited this page 2026-06-28 15:31:47 -04:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Infraestructura

Local (desarrollo)

Todo el entorno corre con Docker Compose en /home/rafa/joomla-migration/.

Contenedores

Container Puerto Rol
wordpress-web 8081 WordPress de trabajo (target de la migración)
wordpress-mysql — (interno) MySQL del WP local
joomla-web 8080 Joomla original restaurado (solo lectura, para consulta)
joomla-db — (interno) MySQL del Joomla legacy

URL local

WordPress se sirve detrás de Caddy + Tailscale:

https://farmer.taild3aaf6.ts.net/fea/

Login admin: ver Credenciales y accesos.

Mounts

/home/rafa/joomla-migration/wordpress/  →  /var/www/html/  (container wordpress-web)

mu-plugins/ está dentro de wordpress/wp-content/mu-plugins/ → bind mount al container.

Aviso: En sesiones pasadas, los mu-plugins se han perdido del contenedor tras docker compose recreate o restauraciones UpdraftPlus. La versión canónica siempre está en producción (/web/wp-content/mu-plugins/). Si algo desaparece del local, copiar desde prod.

BD local

Host: 172.18.0.2
DB:   wordpress_db
User: wordpress_user / wordpress_pass

Comandos básicos

cd /home/rafa/joomla-migration
docker compose up -d                          # Levantar todo
docker compose down                           # Parar
docker logs wordpress-web                     # Ver logs WP
docker exec -it wordpress-web bash            # Entrar al WP
docker exec wordpress-mysql mysql -uwordpress_user -pwordpress_pass wordpress_db

Producción (actualizado 2026-06-15)

El antiguo feadulta.org (Dreamhost) fue desmontado el 2026-05-24. El WP de producción vive ahora en wp-nuevo, en el mismo servidor que el Joomla. Limitaciones importantes — ver Limitaciones del servidor de producción.

Subdominio wp-nuevo.feadulta.com (detrás de Cloudflare → bloquea curl/headless con 403)
Host SSH 134.0.10.170 · usuario feadulta (ver Credenciales)
WP root /web/wp-nuevo/ · ⚠️ /web/ = Joomla vivo, NO tocar
PHP 8.3 · proc_open desactivado · GD + Imagick disponibles
Herramientas wp (wp-cli 2.12), php, composer, git, svn, tar, mysql · NO hay scp/sftp/mysqldump/stat/python3/curl/which
DB MySQL 127.0.0.1, nombre cambiante (leer de wp-config), user myfeadulta

Git

  • Repo: http://localhost:3000/rafa/feadulta (Gitea local, privado)
  • Working tree: /home/rafa/joomla-migration/
  • .gitignore excluye: WP core, plugins de terceros, temas, uploads, backups, joomla/, archivos sensibles de configuración
  • Trackeado: mu-plugins, scripts/, docs, analisis-cartas, evangelios_html

Tailscale

El PC está en la red Tailscale. Hostname: farmer.taild3aaf6.ts.net. Caddy lo expone:

  • /fea/ → WordPress local
  • /git/ → Gitea
  • otros servicios bajo subpaths en el mismo Caddyfile

Servidor Hetzner (activo desde 2026-06-28)

Sustituye al Gitea local de Tailscale como remoto principal.

IP 188.40.120.157
Hardware Intel i7-7700, 64 GB DDR4, 2× NVMe 512 GB RAID1
OS Ubuntu 24.04.4 LTS, FSN1 (Falkenstein, Alemania)
Panel Coolify 4.1.2 → http://188.40.120.157:8000
Gitea https://gitea.feadulta.com
SSH ssh rafa@188.40.120.157

El Gitea local (Tailscale) queda archivado. gitea.feadulta.com es el source of truth.