CAMP (Caddy + Auto HTTPS + MySQL + PHP) es una alternativa moderna a LAMP impulsada por Docker.
574
A modern, lightweight LAMP alternative powered by Docker.
CAMP es un stack web listo para producción que combina:
/var/www/htmlTodo en un contenedor Docker fácil de usar, ideal para desarrollo y producción.
Esta es la forma más rápida de empezar. No necesitas clonar el repositorio, solo ejecutar el comando docker run con la imagen hircoir/camp.
Este comando levanta el stack con un servidor web en http://localhost y MariaDB.
# Crea un directorio para tus archivos web
mkdir -p my-website
# Ejecuta el contenedor
docker run -d \
--name camp-dev \
--restart unless-stopped \
-p 80:80 \
-p 3306:3306 \
-v $(pwd)/my-website:/var/www/html \
hircoir/camp
Este comando configura un sitio con un dominio real, HTTPS automático, phpMyAdmin y credenciales personalizadas. La bandera --restart unless-stopped asegura que el contenedor se reinicie automáticamente si el servidor se reinicia.
docker run -d \
--name camp-prod \
--restart unless-stopped \
-p 80:80 \
-p 443:443 \
-v /ruta/a/tu/sitio:/var/www/html \
-e DOMAIN="tudominio.com" \
-e HTTPS="true" \
-e PHPMYADMIN="true" \
-e MYSQL_USER="user_prod" \
-e MYSQL_PASSWORD="una-contraseña-muy-segura" \
hircoir/camp
https://tudominio.comhttps://tudominio.com/phpmyadmin/Si deseas modificar el Dockerfile o el entrypoint, puedes construir la imagen localmente.
git clone https://github.com/hircoir/camp.git
cd camp
docker build -t camp .
Ahora puedes usar los mismos comandos docker run de la sección anterior, pero reemplazando hircoir/camp por el nombre que le diste a tu imagen local (camp).
Personaliza el comportamiento del contenedor usando variables de entorno (-e):
| Variable | Descripción | Valor por defecto |
|---|---|---|
MYSQL_USER | Usuario inicial de MariaDB | admin |
MYSQL_PASSWORD | Contraseña inicial de MariaDB (si no se define, se genera) | (aleatoria) |
DOMAIN | Dominio para Caddy/Let's Encrypt (ej: midominio.com) | :80 (solo HTTP) |
HTTPS | Habilitar HTTPS automático con Let's Encrypt (true/false) | false |
PHPMYADMIN | Habilitar acceso a phpMyAdmin en /phpmyadmin (true/false) | false |
HTTPS=true.-v /ruta/host:/var/www/html → Monta el directorio de tu sitio web.Coloca aquí los archivos de tu proyecto (index.php, etc.). Es fundamental montar un volumen para que tus datos persistan.
Activa phpMyAdmin añadiendo -e PHPMYADMIN=true al comando docker run.
Acceso: http://localhost/phpmyadmin/ o https://tudominio.com/phpmyadmin/
MYSQL_PASSWORD, se generará una contraseña segura automáticamente. Las credenciales se almacenan en /mysql_password.txt dentro del contenedor para consulta.bind-address=0.0.0.0). No expongas el puerto 3306 a internet a menos que sea estrictamente necesario y esté protegido por un firewall.Dockerfile → Define el entorno y dependencias.entrypoint.sh→ Inicializa servicios y configura credenciales.Caddyfile → Plantilla de configuración para el servidor web Caddy.Inspirado en el stack LAMP, modernizado con Caddy y Docker.
MIT
Content type
Image
Digest
sha256:0d86f32e2…
Size
169.8 MB
Last updated
over 1 year ago
docker pull hircoir/camp