Usa el Docker oficial de FacturaScripts en Docker Hub para desplegar FacturaScripts en contenedores. La imagen ya incluye Apache, PHP y todas las extensiones necesarias.
En tres pasos tienes FacturaScripts funcionando en contenedores.
Si no conoces Docker, es mejor que evites este método de instalación. Docker no es para todo el mundo y puede resultar complicado si estás empezando. Aquí tienes la documentación oficial para instalar Docker según el sistema operativo que uses.
FacturaScripts necesita MySQL o MariaDB para almacenar los datos, así que además del contenedor de FacturaScripts necesitas uno de base de datos. Con docker compose puedes iniciar todos los contenedores de forma organizada: usa el docker-compose.yml oficial de FacturaScripts, que ya incluye todo lo necesario. Ejecuta estos comandos en una terminal:
wget https://raw.githubusercontent.com/FacturaScripts/docker-facturascripts/master/docker-compose.yml
sudo docker compose up -d
Con esta configuración se ejecuta un contenedor con FacturaScripts que guarda los datos en el directorio facturascripts y un contenedor con MySQL que los guarda en el directorio mysql.
También se inicia un contenedor con Adminer, un gestor web de bases de datos. Puedes acceder en http://localhost:8080 con el servidor mysql, el usuario root y la contraseña mypassword. Por seguridad, Adminer solo es accesible desde el propio equipo.
Este docker-compose.yml está pensado para usar FacturaScripts en local o en tu red. La primera vez, docker compose up -d puede tardar unos segundos en terminar, porque espera a que MySQL esté listo antes de arrancar FacturaScripts.
Abre el navegador y entra en http://localhost. Los datos de conexión ya aparecen rellenos, así que solo tienes que pulsar el botón de instalar. Si quieres comprobarlos, son estos:
Si tienes problemas, consulta la sección de errores frecuentes.
Otras formas de usar la imagen y detalles del contenedor oficial.
Si solo necesitas el contenedor de FacturaScripts, puedes descargar la imagen facturascripts/facturascripts desde Docker Hub. Ejecuta esto en una terminal:
sudo docker pull facturascripts/facturascripts
sudo docker run -d --name facturascripts -p 80:80 facturascripts/facturascripts:latest
Este comando ejecuta el contenedor de FacturaScripts y mapea el puerto 80 de localhost al puerto 80 del contenedor. Después puedes abrir tu navegador y entrar en http://localhost para acceder a FacturaScripts.
La imagen facturascripts/facturascripts se publica en Docker Hub con estas etiquetas:
Para usar una etiqueta, indícala después del nombre de la imagen. Por ejemplo, para probar la beta:
sudo docker pull facturascripts/facturascripts:beta
sudo docker run -d --name facturascripts-beta -p 80:80 facturascripts/facturascripts:beta
Si quieres instalar una versión concreta, por ejemplo la 2022.4:
sudo docker pull facturascripts/facturascripts:2022.4
sudo docker run -d --name facturascripts -p 80:80 facturascripts/facturascripts:2022.4
La etiqueta solo decide con qué versión se instala FacturaScripts la primera vez. Después, la versión que se ejecuta es la del volumen, así que cambiar de etiqueta no actualiza una instalación existente (consulta Actualizaciones).
Hasta la versión 2024 solo compilábamos las imágenes de Docker para arquitectura amd64 (procesadores Intel y AMD). Desde la versión 2024, compilamos imágenes para las arquitecturas amd64, arm64 y armv7:
Si quieres automatizar el despliegue, puedes indicar los datos de conexión y el usuario administrador con variables de entorno (FS_DB_HOST, FS_DB_PASS, FS_INITIAL_USER…) y completar la instalación sin pasar por el asistente. Te lo explicamos en la guía de instalación desatendida.
Para actualizar FacturaScripts en Docker no tienes que hacer nada especial. Solo tienes que ir al menú Administrador > Actualizador e instalar las actualizaciones disponibles. No necesitas descargar una nueva imagen de Docker para actualizar y, aunque lo hicieras, no se actualizaría, ya que la versión que se ejecuta es la del volumen del contenedor y no la de la imagen del contenedor.
Lo importante antes de ponerte a facturar, y ayuda por si algo falla.
Ya has desplegado FacturaScripts con Docker. Puedes acceder abriendo el navegador y escribiendo http://localhost en la barra de direcciones. Por defecto el usuario es admin y la contraseña es admin. Cámbiala cuanto antes y procura recordarla.
Te recomendamos nuestro curso gratuito de usuario, con decenas de lecciones en vídeo. Al completarlo obtienes un certificado.
2002: php_network_getaddresses: getaddrinfo failed
No se ha podido conectar a la base de datos. Suele ocurrir cuando dejas localhost en lugar del nombre del Docker de la base de datos. Si usas nuestro docker-compose, escribe mysql como host de base de datos y mypassword como contraseña.
Cannot start service mysql: OCI runtime create failed (cgroups v2)
Probablemente estás usando Fedora. Para usar Docker en Fedora necesitas instalar la versión oficial de Docker, en lugar de la que proporciona Fedora.
Si necesitas un Docker alternativo que incluya xdebug y phpMyAdmin, puedes usar el repositorio totva/docker-facturascripts.