TYPO3 Quickstart con Docker
Imagen Docker para ejecutar TYPO3 de forma sencilla
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar TYPO3 Quickstart con Docker en el canal GENBYTE:
¿Qué es TYPO3 Quickstart con Docker?
docker-typo3 es un repositorio que proporciona instrucciones de construcción para una imagen Docker simple de TYPO3. El objetivo principal es ofrecer a los usuarios un inicio rápido y fácil para trabajar con TYPO3, aunque la documentación advierte explícitamente que esta imagen no está destinada para uso en producción. El contenedor no incluye un sistema de gestión de bases de datos, lo que permite libertad para elegir MySQL, MariaDB o PostgreSQL según las necesidades del proyecto.
Características principales
Soporte multi-base de datos
Compatible con MySQL, MariaDB y PostgreSQL sin estar atado a una versión específica.
Volúmenes persistentes
Expone volúmenes para fileadmin, typo3conf, typo3temp y uploads para persistencia de datos y configuración.
Múltiples etiquetas de versión
Disponible con etiquetas para versiones LTS y antiguas: latest (13.4.*), 13, 12, 11, 10, 9, 8, 7, 6.
Puerto estándar HTTP
Expone el puerto 80 para acceso directo vía navegador.
Configuración de carácter UTF-8
La base de datos MariaDB/MySQL se configura con utf8mb4 y collation utf8mb4_unicode_ci.
Requisitos del sistema
- Docker instalado y en ejecución
- Contenedor de base de datos separado (MariaDB, MySQL o PostgreSQL)
- Red Docker para comunicación entre contenedores (–link o red personalizada)
Instalación con Docker Compose
Crear contenedor de base de datos MariaDB
Primer paso obligatorio: levantar una base de datos MariaDB con configuración UTF-8.
-e MYSQL_ROOT_PASSWORD=yoursupersecretpassword \
-e MYSQL_USER=typo3 \
-e MYSQL_PASSWORD=yourothersupersecretpassword \
-e MYSQL_DATABASE=typo3 \
mariadb:latest \
–character-set-server=utf8mb4 \
–collation-server=utf8mb4_unicode_ci
Crear contenedor TYPO3 y enlazar con base de datos
Levantar la imagen TYPO3 vinculada al contenedor de base de datos y mapear puerto 80.
–link typo3-db:db \
-p 80:80 \
martinhelmich/typo3:13
Alternativa con PostgreSQL
Usar PostgreSQL en lugar de MariaDB/MySQL como backend de base de datos.
-e POSTGRES_PASSWORD=yoursupersecretpassword \
-e POSTGRES_USER=typo3 \
-e POSTGRES_DATABASE=typo3 \
postgres:latest
Acceder al proyecto
Acceso al instalador TYPO3
Abrir http://localhost en el navegador para iniciar la herramienta de instalación de TYPO3. En Docker Machine (Windows/macOS) usar la IP de la VM Docker obtenida con docker-machine ip default.
Credenciales de base de datos en el instalador
Usar las variables de entorno definidas en el contenedor de base de datos. Si se usó –link typo3-db:db, el host de base de datos es 'db'.
Casos de uso
- Inicio rápido de proyectos TYPO3 para desarrollo local
- Pruebas de actualizaciones entre versiones LTS de TYPO3
- Entornos de demostración y evaluación de funcionalidades
- Desarrollo de extensiones TYPO3 con persistencia de configuración
Configuración avanzada
Montaje de volúmenes para persistencia
Los siguientes volúmenes deben montarse para garantizar funcionalidad y persistencia de datos: /var/www/html/fileadmin (archivos subidos por editores), /var/www/html/typo3conf (extensiones, configuración, idiomas), /var/www/html/typo3temp (archivos temporales y logs), /var/www/html/uploads (obsoleto desde TYPO3 6.2, ignorar en instalaciones nuevas).
-v ./typo3conf:/var/www/html/typo3conf \
-v ./typo3temp:/var/www/html/typo3temp
Configuración de proxy inverso para HTTPS
Para usar HTTPS/TLS se debe configurar un proxy inverso. Consultar la documentación oficial de TYPO3 sobre configuración de contenedor con proxy inverso.
Selección de versión TYPO3 específica
Usar etiquetas de imagen específicas para fijar versión: latest (LTS actual 13.4.*), 13.4, 13, 12.4, 12, 11.5, 11, 10.4, 10, 9.5, 9, 8.7, 8, 7.6, 7, 6.2, 6. Las etiquetas 11 y anteriores ya no reciben actualizaciones.
Gestión y mantenimiento
Actualización de imagen
Descargar la versión más reciente de la etiqueta deseada y recrear el contenedor web manteniendo los volúmenes montados.
docker stop typo3-web && docker rm typo3-web \
docker run -d –name typo3-web –link typo3-db:db -p 80:80 -v ./fileadmin:/var/www/html/fileadmin -v ./typo3conf:/var/www/html/typo3conf -v ./typo3temp:/var/www/html/typo3temp martinhelmich/typo3:13
Backup de datos persistentes
Realizar copias de seguridad de los directorios montados (fileadmin, typo3conf, typo3temp) y de la base de datos mediante herramientas nativas (mysqldump, pg_dump).
Stack técnico
- Docker
- TYPO3 CMS
- PHP
- Apache HTTP Server (implícito en imagen base)
- MariaDB / MySQL
- PostgreSQL
- Linux (Alpine/Debian base image)
Referencias oficiales
- Repositorio GitHub docker-typo3: https://github.com/martin-helmich/docker-typo3
- Imagen en Docker Hub: https://hub.docker.com/r/martinhelmich/typo3
- Documentación TYPO3 – Reverse Proxy Container Configuration: https://docs.typo3.org/permalink/t3coreapi:reverse-proxy-container
- Licencia GPL-3.0: https://www.gnu.org/licenses/gpl-3.0.html
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
