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 recreateo 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 enwp-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.