Guía de despliegue

Alojar Firefly III en un VPS: finanzas pro bajo control

Desplegar en un VPS Cloud →

Tutorial

Alojar Firefly III en un VPS: finanzas pro bajo control

Autoalojamiento8 min de lectura6 pasos

Llevar las finanzas de su empresa en una hoja de cálculo Excel o en una herramienta SaaS que no le pertenece resulta aceptable al principio — pero cuando las cuentas se multiplican, los clientes se diversifican y la asesoría contable pide exportaciones coherentes, hace falta otra cosa. Firefly III es una aplicación de gestión financiera personal y profesional de código abierto (AGPL-3.0) que se instala en su VPS en veinte minutos, no depende de ninguna suscripción y aloja sus datos exactamente donde usted decida.

Contenido· ¿Por qué Firefly III en lugar de una herramienta SaaS?1/11
  1. 01¿Por qué Firefly III en lugar de una herramienta SaaS?
  2. 02Funcionalidades clave
  3. 03Requisitos del servidor
  4. 04Instalación con Docker Compose
  5. 05Configurar los presupuestos y las reglas de automatización
  6. 06Programar copias de seguridad automáticas
  7. 07APP_KEY no válida: el error más frecuente
  8. 08Firefly III vs YNAB vs Budgea
  9. 09Resolver los problemas frecuentes
  10. 10Actualizar Firefly III
  11. 11Desplegar Firefly III con un clic desde el Marketplace

¿Por qué Firefly III en lugar de una herramienta SaaS?

Los gestores de finanzas en línea (YNAB, Mint, Freeform…) imponen una suscripción mensual, alojan sus datos en sus servidores estadounidenses y pueden cerrar su servicio sin previo aviso. Para un autónomo o una estructura pequeña, las implicaciones del RGPD de compartir sus extractos bancarios con un tercero rara vez se evalúan.

Firefly III resuelve estos tres problemas a la vez: licencia AGPL-3.0 (código abierto, modificable), docker-compose en menos de diez comandos, datos en su propia base de datos PostgreSQL. Con 24 300 estrellas en GitHub y una v6.6.6 publicada en julio de 2025, es un proyecto maduro, mantenido activamente y documentado.

Lo que Firefly III gestiona por usted: cuentas corrientes y de ahorro, tarjetas de crédito, carteras de criptomonedas, presupuestos mensuales o anuales, reglas de automatización de las transacciones, categorías personalizadas, informes por período o categoría, e importación desde sus extractos bancarios mediante el Data Importer.

Funcionalidades clave

  • Multicuenta: gestione simultáneamente varias cuentas corrientes, de ahorro, tarjetas de crédito y carteras de criptomonedas.
  • Presupuestos y sobres: defina presupuestos mensuales por categoría (alquiler, suministros, honorarios…) y siga su consumo en tiempo real.
  • Reglas de automatización: cree reglas que se apliquen automáticamente a las nuevas transacciones (p. ej.: gastos de Uber → categoría Transporte).
  • Informes avanzados: gráficos por período, por cuenta, por categoría, exportables en CSV para su contable.
  • Data Importer: importe sus extractos bancarios en formato OFX, QFX, CSV o mediante conectores bancarios europeos (Nordigen/GoCardless).
  • API REST completa: automatice la creación de transacciones desde cualquier script o herramienta de terceros.
  • Interfaz móvil adaptable: acceda a sus cuentas desde su teléfono a través del navegador.

Requisitos del servidor

Firefly III es una aplicación PHP/Laravel ligera. Esto es lo que necesita:

- Un VPS con Ubuntu 22.04 o Debian 12 con al menos 1 GB de RAM (2 GB recomendados).
- Docker Engine ≥ 24 y Docker Compose V2 instalados.
- Un nombre de dominio que apunte a su VPS (recomendado para configurar TLS).
- Un puerto 8080 accesible (interfaz de Firefly III) y 8081 (Data Importer, opcional).
- 5 GB de almacenamiento como mínimo para la base de datos y los archivos adjuntos.

Firefly III no requiere GPU ni una RAM excesiva — es una de sus ventajas frente a herramientas como ERPNext.

Instalación con Docker Compose

  1. Paso 1 — Clonar el repositorio oficial

    Firefly III proporciona un archivo docker-compose.yml oficial y una plantilla .env en su repositorio firefly-iii/docker:

    mkdir -p /opt/firefly && cd /opt/firefly
    curl -L https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose-importer.yml \
      -o docker-compose.yml
    curl -L https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example \
      -o .env
    curl -L https://raw.githubusercontent.com/firefly-iii/data-importer/main/.env.example \
      -o .importer.env
  2. Paso 2 — Configurar las variables de entorno

    Abra .env y modifique estas variables:

    # Base de données
    DB_HOST=db
    DB_PORT=5432
    DB_DATABASE=firefly
    DB_USERNAME=firefly
    DB_PASSWORD=MOT_DE_PASSE_FORT_ICI
    
    # Clé d'application — OBLIGATOIRE, 32 caractères exactement
    APP_KEY=SomeLongRandomStringOf32CharsMin
    
    # URL de votre instance
    APP_URL=https://firefly.votredomaine.com
    
    # Mot de passe administrateur PostgreSQL
    POSTGRES_PASSWORD=MOT_DE_PASSE_POSTGRES

    ⚠️ La variable APP_KEY debe contener exactamente 32 caracteres alfanuméricos. Genere una con openssl rand -hex 16.

  3. Paso 3 — Iniciar los contenedores

    docker compose up -d

    El arranque completo tarda de 30 a 60 segundos. Compruebe el estado de los contenedores:

    docker compose ps

    Debe ver tres contenedores en estado healthy (o running): firefly-iii, db (PostgreSQL) e importer. Firefly III espera a que PostgreSQL esté listo gracias a la directiva depends_on: condition: service_healthy del docker-compose.yml — no tiene que gestionar nada manualmente.

  4. Paso 4 — Acceder a la interfaz

    Abra su navegador en http://<IP_VPS>:8080. Firefly III le invita a crear su cuenta de administrador. Introduzca su dirección de correo electrónico y una contraseña. Una vez conectado, el asistente de configuración le guía para crear su primera cuenta bancaria.

  5. Paso 5 — Configurar Nginx con TLS

    No deje Firefly III accesible sin HTTPS en producción. Configure Nginx como reverse proxy:

    apt install -y nginx certbot python3-certbot-nginx
    
    cat > /etc/nginx/sites-available/firefly << 'EOF'
    server {
        server_name firefly.votredomaine.com;
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    EOF
    
    ln -s /etc/nginx/sites-available/firefly /etc/nginx/sites-enabled/
    certbot --nginx -d firefly.votredomaine.com
    nginx -t && systemctl reload nginx

    Cierre después el puerto 8080 en su cortafuegos (ufw deny 8080).

  6. Paso 6 — Importar sus extractos bancarios

    El Data Importer escucha en el puerto 8081. Acceda a http://<IP_VPS>:8081 para iniciar la importación.

    1. Haga clic en Import y luego en Upload a file.
    2. Seleccione su archivo OFX, QFX o CSV exportado desde su banco.
    3. El asistente le guía para asignar las columnas (fecha, importe, descripción, cuenta).
    4. Valide la importación: las transacciones aparecen inmediatamente en Firefly III.

    Para automatizar las importaciones, configure un conector GoCardless (antes Nordigen) desde la interfaz del Data Importer para sincronizar automáticamente sus cuentas bancarias europeas.

Configurar los presupuestos y las reglas de automatización

Crear un presupuesto mensual:
1. Vaya a Budgets → New budget.
2. Dé un nombre al presupuesto (p. ej. «Suministros de oficina») y defina el importe mensual.
3. Asocie las transacciones a este presupuesto manualmente o mediante una regla.

Crear una regla de automatización:
1. Vaya a Automation → Rules → New rule.
2. Defina el desencadenante: por ejemplo «La descripción contiene 'Amazon'».
3. Defina la acción: «Asignar a la categoría Suministros» y «Asignar al presupuesto Suministros de oficina».
4. La regla se aplica automáticamente a las nuevas transacciones y puede volver a ejecutarse sobre el historial.

Exportar para su contable:
Vaya a Export data y elija el formato CSV. Filtre por período (p. ej. T1 2026) y por cuenta. El archivo de exportación contiene todas las transacciones con fecha, importe, descripción, categoría y presupuesto.

Programar copias de seguridad automáticas

Firefly III almacena sus datos en PostgreSQL. Así se programa una copia de seguridad diaria:

mkdir -p /opt/firefly/backups

cat > /opt/firefly/backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d)
docker compose -f /opt/firefly/docker-compose.yml exec -T db \
  pg_dump -U firefly firefly | gzip > /opt/firefly/backups/firefly-$DATE.sql.gz
find /opt/firefly/backups -name '*.sql.gz' -mtime +30 -delete
EOF
chmod +x /opt/firefly/backup.sh

# Cron quotidien à 03:00
echo '0 3 * * * root /opt/firefly/backup.sh' >> /etc/cron.d/firefly-backup

Para una protección completa, complétela con una copia de seguridad fuera del servidor (rclone hacia S3, SFTP hacia otro VPS).

APP_KEY no válida: el error más frecuente

Si Firefly III muestra una página en blanco al arrancar o si la autenticación falla sin un mensaje claro, compruebe en primer lugar la variable APP_KEY de su archivo .env.

Dos reglas estrictas:
1. La clave debe contener exactamente 32 caracteres.
2. Nunca debe cambiar después del primer arranque — cambiar la APP_KEY en una instancia existente invalida todas las sesiones y cifra los datos almacenados de forma incompatible.

Generar una clave válida:

openssl rand -hex 16
# Exemple de sortie : a8f2c9d1e4b7f0a3c5e8d2b1f4a7e0c3

Este comando produce exactamente 32 caracteres hexadecimales — perfecto para APP_KEY.

Firefly III vs YNAB vs Budgea

Desplace la tabla

CriterioFirefly III (autoalojado)YNABBudgea
PrecioGratuito (coste del VPS ~5-10€/mes)~99$/año~60€/año
Alojamiento de los datosSu VPS (soberanía total)Servidores US (Plaid)Servidores FR
Importación bancariaCSV/OFX + GoCardless (EU)Conexión directa (US)Conexión directa (FR)
Reglas de automatizaciónNo
API RESTSí (completa)No públicaNo
MultidivisaNo (solo USD)Sí (parcial)
Informes personalizablesSí (avanzados)LimitadosLimitados
Aplicación móvil nativaNo (web adaptable)Sí (iOS/Android)

Resolver los problemas frecuentes

Firefly III se queda en página en blanco o muestra un error 500
Compruebe los registros del contenedor: docker compose logs firefly-iii. Los errores más frecuentes son una APP_KEY no válida o un PostgreSQL que aún no está listo. Solución: comprobar que db está en estado healthy con docker compose ps antes de acceder a la interfaz.

El Data Importer rechaza el archivo CSV
Firefly III espera un formato CSV específico. Si su banco exporta un CSV con separadores de punto y coma (;) en lugar de coma, modifique la codificación en el asistente de importación o convierta el archivo con sed 's/;/,/g' import.csv > import-virgule.csv.

Las transacciones duplicadas tras la importación
Active la deduplicación en el Data Importer: en la configuración de la importación, marque Ignore duplicates. Firefly III compara las transacciones por fecha, importe y descripción para evitar los duplicados.

Error Connection refused en la base de datos al arrancar
Firefly III utiliza depends_on: condition: service_healthy para esperar a PostgreSQL. Si este error persiste, compruebe que POSTGRES_PASSWORD en .env coincide con DB_PASSWORD.

Actualizar Firefly III

La v6.6.6 se publicó en julio de 2025. La actualización se hace en dos comandos:

cd /opt/firefly
docker compose pull
docker compose up -d

Docker Compose descarga las nuevas imágenes, detiene los contenedores antiguos y reinicia con la versión actualizada. Las migraciones de la base de datos se ejecutan automáticamente en el primer arranque de la nueva versión. Antes de cada actualización mayor, haga una copia de seguridad manual de PostgreSQL.

Desplegar Firefly III con un clic desde el Marketplace

El Marketplace de ServOrbit ofrece una plantilla Firefly III que configura automáticamente PostgreSQL 16 y el núcleo de la aplicación mediante Docker Compose en su VPS con Ubuntu 24.04 — en unos minutos, sin línea de comandos. Elija su VPS, seleccione la plantilla y encuentre Firefly III listo para recibir sus cuentas desde el primer acceso. La clave APP_KEY la genera ServOrbit durante el aprovisionamiento.

Su Firefly III listo en unos minutos

La plantilla Firefly III configura automáticamente PostgreSQL y el gestor de finanzas en su VPS — sus datos financieros permanecen en su servidor, con copias de seguridad y accesibles desde cualquier lugar.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva