Cómo instalar TYPO3 en Docker - CMS profesional autohospedado

TYPO3 | CMS | Docker | Self-Hosted | Enterprise | PHP | MySQL/PostgreSQL | Open Source | GPL-3.0

TYPO3 en Docker: CMS profesional autohospedado enterprise-grade con sistema contenidos flexible, multi-usuario, permisos granulares, editor WYSIWYG, menus dinámicos, extensiones ilimitadas, marketplace, staging/live, cache avanzado, PostgreSQL/MySQL, 117 stars, GPL-3.0 open source, production-ready 🚀📝

TYPO3 es un CMS profesional autohospedado basado en PHP diseñado para sitios web y portales grandes. Plataforma enterprise: sistema gestión contenidos flexible, multi-usuario con permisos granulares, editor WYSIWYG (RTE), menus dinámicos, media management, extensiones ilimitadas (TER marketplace), staging/live workflows, backend robusto, caché avanzado, soporte MySQL/MariaDB/PostgreSQL. Docker quickstart oficial. 117 GitHub stars. GPL-3.0 open source. Production-ready.

¿Qué es TYPO3 en Docker?

TYPO3 es un CMS profesional autohospedado basado en PHP diseñado para empresas y portales grandes, que proporciona sistema gestión contenidos robusto y flexible con editor WYSIWYG, multi-usuario con permisos granulares (por página, por usuario), menus dinámicos, media management, extensiones ilimitadas vía marketplace TER, staging/live workflows, backend poderoso, caché avanzado, soporte MySQL/MariaDB/PostgreSQL, todo ejecutándose en Docker bajo tu control sin licencias restrictivas. La plataforma CMS enterprise que necesita tu organización.

Propuesta clave: Enterprise CMS self-hosted. Flexible content structure (flexible fields, customizable). Multi-user environment (admin, editor, viewer roles). Rich-text editor WYSIWYG (integrations rich media). Dynamic menus (from page tree). Media library (assets organization). Version control (page history, rollback). Workflow support (approval, staging → live). Extensible architecture (thousands extensions TER marketplace, custom dev). Backend powerful (database abstraction, multiple DB support: MySQL, PostgreSQL, MariaDB). Caching strategies (PAGE, TYPO script cache, HTTP cache). Performance tuned (production-ready optimization). Reverse proxy compatible (HTTPS via proxy). Multi-language support (i18n). Multi-site capability (single installation multiple sites). Access control granular (per-page permissions, user groups). Template system (Fluid templating). REST API (unofficial). MariaDB official images support. PostgreSQL driver support. Logging/auditing. Backup integration. GPL-3.0 open source. 117k+ active installations worldwide. 20+ years enterprise history. 276 commits recent Docker image by Martin Helmich (martin-helmich/docker-typo3). Versions 6.2 → 13.4 supported in Docker.

Para empresas + portales: CMS flexible. Permisos granulares. Escalable. Extensible. Self-hosted. Support global.

Características principales

Contenidos flexibles

Estructura contenido personalizable. Fields custom. Tipos contenido. No limitado.

Multi-usuario

Usuarios, grupos, roles. Permisos granulares por página. Editor, viewer, admin.

Editor WYSIWYG

Rich-text editor integrado. Formatting, media, links. Drag-drop. User-friendly.

Menus dinámicos

Genera menus desde page tree automático. Responsive. Hierarchical. Facil.

Media manager

Library assets. Subir imagenes, PDFs, etc. Organizar carpetas. Metadata.

Extensiones ilimitadas

TER marketplace (thousands). Custom development. Plugins. No limitaciones.

Staging/Live

Workflow publishing. Draft → staging → live. Approval process. Historia.

Backend robusto

Database abstraction. Multi-DB support (MySQL, PostgreSQL, MariaDB). Confiable.

Caché avanzado

PAGE cache, TYPO cache, HTTP cache. Performance tuned. Production-ready.

Permisos granulares

Access control per-page. User groups. Roles. Auditing. Security.

Multi-idioma

i18n soporte. Multiple languages. Translations. Fallback. Global.

Multi-site

Single instalación, múltiples sites. Compartir extensiones. Escalable.

Requisitos del sistema

  • Docker & Docker Compose v2+
  • 2 GB - 4 GB RAM mínimo (PHP app ligera)
  • 10 GB - 100+ GB espacio disco (según contenidos + media)
  • Puerto TCP: 80 (HTTP) o 443 (HTTPS reverse proxy)
  • PHP 8.1+ (bundled en imagen Docker)
  • MySQL 5.7+ / MariaDB 10.3+ / PostgreSQL 12+ (separado en compose)
  • Apache2 + mod_php (bundled en imagen Docker)
  • GD Library, Imagick (para procesamiento imágenes)
  • Opcional: Redis (session storage, caching)
  • Opcional: Elasticsearch (indexed search)
No para desarrollo solo: Imagen NO recomendada producción sin hardening (SSL, security headers, etc). Usar reverse proxy nginx/Apache en frente con HTTPS.
Database: Imagen permite MySQL, MariaDB, PostgreSQL. Composer incluye setup MariaDB standard. PostgreSQL requiere parámetro connection.

Instalación con Docker Compose

Paso 1: docker-compose.yml (TYPO3 13 LTS)

version: '3.8' services: typo3: image: martinhelmich/typo3:13 container_name: typo3 restart: unless-stopped environment: - TYPO3_DB_HOST=db - TYPO3_DB_USERNAME=typo3 - TYPO3_DB_PASSWORD=typo3password123 - TYPO3_DB_DATABASE=typo3 - TYPO3_DB_DRIVER=mysqli ports: - "80:80" volumes: - typo3_fileadmin:/var/www/html/fileadmin - typo3_typo3conf:/var/www/html/typo3conf - typo3_typo3temp:/var/www/html/typo3temp depends_on: db: condition: service_healthy db: image: mariadb:11 container_name: typo3-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=rootpassword123 - MYSQL_USER=typo3 - MYSQL_PASSWORD=typo3password123 - MYSQL_DATABASE=typo3 - MYSQL_INITDB_ARGS=--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 volumes: - typo3_db:/var/lib/mysql volumes: typo3_fileadmin: typo3_typo3conf: typo3_typo3temp: typo3_db:

Paso 2: Iniciar TYPO3

# Guardar como docker-compose.yml en directorio proyecto docker compose up -d # Espera ~10 segundos para que DB inicie docker compose logs -f typo3 # Cuando veas "Apache 2.x is running" está listo

Paso 3: Acceder install tool

# Abre en navegador: http://localhost/typo3/install # Sigue wizard de setup

Acceder a TYPO3

🌐 Frontend TYPO3 (sitio web): http://localhost
🔧 Backend TYPO3 (admin): http://localhost/typo3

Setup inicial (primer acceso)

  1. Abre http://localhost/typo3/install
  2. Install tool wizard → Database credentials (usa env variables)
  3. Elige usuario admin (email + password)
  4. Select TYPO3 distribution (Blank, Introduction Package, etc)
  5. Finish → redirect Backend
  6. Login con admin credentials
  7. ¡Listo para gestionar contenidos!
💡 Desde otros dispositivos: Usa la IP de tu servidor:
http://192.168.1.100 (frontend)
http://192.168.1.100/typo3 (backend)
Para obtener tu IP: hostname -I

Primeros pasos

1. Backend login

  1. Abre http://localhost/typo3
  2. Username + password que configuraste en install
  3. Dashboard TYPO3 aparece

2. Crear página

  1. Backend → Page tree (izquierda) → select "Home" o root page
  2. Click "+" para crear new page
  3. Ingresa titulo página
  4. Type: Standard (default)
  5. Save → page creada

3. Agregar contenido

  1. Page tree → selecciona página
  2. Tab "Content" → click "Create content"
  3. Type: Text, Text & Image, Headlines, etc
  4. Escribe/pega contenido con editor WYSIWYG
  5. Save

4. Administrar usuarios

  1. Backend → System → Backend Users (o Web Users)
  2. Click "+" para agregar usuario
  3. Ingresa datos (username, email, password)
  4. Asigna permissions (usergroup, página access)
  5. Save → usuario puede loguear

5. Crear menus

  1. Frontend → páginas auto-generan menu desde page tree
  2. Template → setup TypoScript para posición menu
  3. Menu dinámico renderiza automático

6. Subir media

  1. Backend → File → Storage (fileadmin)
  2. Click upload, selecciona imagenes/PDFs
  3. Crea carpetas organiza assets
  4. Reference desde content editors

7. Publicar contenido

  1. Content → Edit page → Public checkbox
  2. Si workflow: approve required
  3. Frontend muestra página viva

Casos de uso

  • Sitios web corporativos: Multi-página, contenido flexible, usuario teams.
  • Portales empresariales: Escalable, multi-usuario, permisos granulares, workflow.
  • Intranets: Multi-site, multi-idioma, acceso control, media management.
  • Media publishers: Workflow publicación, staging/live, histórico, versioning.
  • Communidad/forums (extensiones): TER marketplace plugins agrega funcionalidad.
  • E-commerce (extensiones): Integra shop extensions, payment gateways.

Versiones disponibles Docker

LTS (Long-Term Support)

  • 13.4 (13): Latest LTS. PHP 8.1+. Recomendado.
  • 12.4 (12): Previous LTS. Still supported.

Legacy (sin actualizaciones)

  • 11.5, 10.4, 9.5, 8.7, 7.6, 6.2: Archivos. Available pero no updated.
Recomendación: Usar 13 LTS (latest) para nuevos proyectos. Para legacy, migra cuando posible.

Gestión y mantenimiento

Ver estado

docker compose ps

Ver logs

docker compose logs -f typo3 docker compose logs -f db

Detener TYPO3

docker compose down

Actualizar versión

# Cambiar imagen tag en compose docker compose pull docker compose up -d

Backup base datos

docker compose exec db mysqldump -u typo3 -ptypo3password123 typo3 > backup.sql

Restore base datos

docker compose exec -T db mysql -u typo3 -ptypo3password123 typo3 < backup.sql

Acceder shell TYPO3

docker compose exec typo3 bash

Monitorear consumo

docker stats typo3 db # Típicamente: # typo3: 200-400MB RAM # db: 200-600MB RAM

Marketplace TER (TYPO3 Extension Repository)

TYPO3 soporta miles extensiones vía TER marketplace. Instalables desde backend.

Populares extensiones

  • News (news): News/blog system con tags, categories. Must-have.
  • Powermail (powermail): Form builder, email integrations. Popular.
  • Mask (mask): Advanced content types builder. Powerful.
  • Commerce (commerc): E-commerce suite (payment, orders).
  • SEO (seo): SEO toolkit (sitemap.xml, robots.txt, metadata).
Instalar extensión: Backend → Admin Tools → Extension Manager → search + install.

Stack técnico

  • Backend: PHP 8.1+ (bundled en imagen)
  • Web Server: Apache2 + mod_php (bundled)
  • Database: MySQL 5.7+ / MariaDB 10.3+ / PostgreSQL 12+
  • ORM: Doctrine DBAL (database abstraction)
  • Frontend: Fluid templating (TypoScript)
  • Caching: PAGE cache, TYPO cache, HTTP cache
  • Media Processing: GD, Imagick para imágenes
  • Licencia: GPL-3.0 open source

Comparativa con alternativas

vs WordPress

TYPO3 gana: Enterprise architecture, permisos granulares, flexible structure, multi-site. WordPress gana: Simpler, vast plugin ecosystem, easier learning curve.

vs Drupal

TYPO3 gana: Easier WYSIWYG, better UI/UX. Drupal gana: Mas powerful customization, bigger community.

vs Joomla

TYPO3 gana: Better performance, enterprise features. Joomla gana: More user-friendly for beginners.

Mejor para: Empresas medianas/grandes. Multi-usuario workflows. Portales complejos. Control fino. Self-hosted.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.