Índice del diarioDockup / nota de campo
Note / self-host-actualbudget

Cómo autoalojar Actual Budget en 2026: sincronización, HTTPS y copias de seguridad de datos financieros

Implementa Actual Budget con el puerto adecuado, almacenamiento persistente, TLS, autenticación y copias de seguridad. Soluciona los problemas que aparecen cuando el directorio de sincronización es efímero en producción.

Una implementación fallida de Actual Budget no siempre se cae. Puede mostrar una página de inicio de sesión mientras el directorio de sincronización es efímero o un proxy elimina las solicitudes de sincronización grandes. En su lugar, empieza con una comprobación integral: crea o importa un presupuesto, añade transacciones, sincroniza un segundo navegador y genera una exportación a nivel de aplicación.

Esa comprobación coincide con la finalidad documentada de Actual Budget: presupuestación por sobres con los datos almacenados en tu disco. También revela antes que un uptime probe las dependencias ausentes, las suposiciones incorrectas sobre el proxy y los datos efímeros.

Separa Actual Budget de sus dependencias

Empieza por el namespace de red de Actual Budget: su listener web utiliza el puerto 5006, no un puerto del host copiado de un tutorial para un portátil. El requisito del runtime local es un volumen de datos persistente y un navegador compatible para la configuración inicial. Mantén explícito su ciclo de vida para que trasladar Actual Budget entre hosts no cambie su comportamiento de forma silenciosa.

Una vez satisfecho el requisito, ejecuta el escenario completo: crea o importa un presupuesto, añade transacciones, sincroniza un segundo navegador y genera una exportación a nivel de aplicación. Registra logs y mediciones del tamaño del archivo de presupuesto, el tráfico de sincronización y el almacenamiento del servidor, en lugar de centrarte en cálculos intensivos en el servidor. Estas evidencias se convierten en la primera arquitectura conocida como válida y permiten probar de forma reproducible posteriores traslados entre la infraestructura de Dockup y un servidor conectado.

Ejecuta la primera instancia con forma de producción

Un comando mínimo resulta útil cuando deja claro qué gestionará posteriormente la plataforma.

docker run -d \
  --name actual-budget \
  --restart unless-stopped \
  -p 127.0.0.1:5006:5006 \
  -v actual-budget-data:/data \
  -e ACTUAL_PORT=5006 \
  actualbudget/actual-server:latest

Aquí el puerto 5006 permanece privado en el host y todas las rutas necesarias están definidas explícitamente. Confirma el requisito local antes de exponerlo: un volumen de datos persistente y un navegador compatible para la configuración inicial. Verifica el arranque tanto con los logs como con la prueba específica de la aplicación: crea o importa un presupuesto, añade transacciones, sincroniza un segundo navegador y genera una exportación a nivel de aplicación. Una vez verificado, fija la versión de la imagen para que una sustitución rutinaria no cambie su comportamiento de forma silenciosa.

Haz que el origen público sea inequívoco

Elige el hostname definitivo de Actual Budget antes de que los usuarios guarden callbacks o ajustes del cliente y utiliza después una URL HTTPS estable para que los clientes de sincronización confíen en el servidor. La ruta de la plataforma debe terminar TLS una sola vez y apuntar al puerto privado 5006.

Ejecuta la transacción de aceptación desde el exterior. Si el cliente nunca llega a Actual Budget, utiliza la lista de comprobación de validación de SSL para revisar el DNS y el certificado. Si la solicitud llega a Actual Budget, pero el directorio de sincronización es efímero o un proxy elimina las solicitudes de sincronización grandes, deja de cambiar las redirecciones del proxy e inspecciona el límite específico de la aplicación.

Haz medible la recuperación de Actual Budget

Crea un manifiesto de recuperación para Actual Budget: archivos del servidor más exportaciones periódicas de presupuestos a nivel de aplicación. Monta /data antes del bootstrap, escribe datos de prueba inofensivos y sustituye el contenedor para demostrar que esa ruta realmente es persistente. Comprueba ahora los permisos y el espacio libre, porque una ruta montada pero sin permisos de escritura se comporta exactamente como si no hubiera persistencia.

Realiza las copias de seguridad en un failure domain independiente del servidor en ejecución. Recrea Actual Budget a partir de su imagen fijada y verifica que el servidor restaurado sincroniza las mismas cuentas y saldos y que la exportación independiente también se puede importar. La guía sobre volúmenes persistentes ayuda a convertir este ejercicio en una política de snapshots y retención.

Refuerza la seguridad de Actual Budget después del bootstrap

Las credenciales del bootstrap son temporales; el modelo de confianza es permanente. Con Actual Budget, presta atención a no publicar un servidor financiero antes de configurar su contraseña y establece la contraseña del servidor antes de exponerlo; utiliza HTTPS porque la instancia contiene todo el historial financiero.

ACTUAL_PORT controla el comportamiento, no la confidencialidad; valida su tipo y valor, y almacena las credenciales reales de Actual Budget por separado. Ejecuta la imagen sin capabilities de Linux innecesarias y expón únicamente la ruta pública de la aplicación. Mantén visibles las actividades administrativas sin registrar valores secretos.

Opera Actual Budget en torno a su verdadero cuello de botella

Crea dashboards centrados en el tamaño del archivo de presupuesto, el tráfico de sincronización y el almacenamiento del servidor, en lugar de en cálculos intensivos en el servidor. Un gráfico de CPU sin el contexto de esa carga de trabajo no puede explicar por qué Actual Budget funciona lentamente. Añade una comprobación sintética o programada que intente crear o importar un presupuesto, añadir transacciones, sincronizar un segundo navegador y generar una exportación a nivel de aplicación utilizando datos de prueba inofensivos.

Antes de actualizar, ten en cuenta este riesgo específico de la aplicación: las migraciones de datos de Actual deben probarse con los archivos del servidor y un presupuesto exportado disponible para rollback. Restaura una copia de seguridad reciente en una implementación aislada, ejecuta allí las migraciones y compara el comportamiento. Si el directorio de sincronización es efímero o un proxy elimina las solicitudes de sincronización grandes, inspecciona el límite implicado —origen público, almacenamiento o dependencia— antes de modificar ajustes no relacionados.

Evidencias que debes recopilar antes de poner Actual Budget en producción

Crea un fixture pequeño y desechable de Actual Budget y consérvalo para cada release. El fixture debe ejercitar el flujo de trabajo real: crear o importar un presupuesto, añadir transacciones, sincronizar un segundo navegador y generar una exportación a nivel de aplicación. Registra el digest de la imagen, el hostname externo, la dirección de la dependencia y el resultado esperado para que un operador posterior pueda repetir la prueba sin tener que interpretar esta guía.

Ejecuta el fixture tres veces. Primero, utiliza la implementación nueva. Después, sustituye el contenedor sin tocar el estado persistente. Por último, restaura la copia de seguridad en un entorno vacío. La tercera ejecución solo es válida cuando el servidor restaurado sincroniza las mismas cuentas y saldos y la exportación independiente también se puede importar. Durante cada ejecución, captura la latencia y el uso de recursos en torno al tamaño del archivo de presupuesto, el tráfico de sincronización y el almacenamiento del servidor, en lugar de centrarte en cálculos intensivos en el servidor; esto se convierte en la línea base de las alertas, no en un porcentaje de CPU arbitrario.

Por último, prueba deliberadamente la ruta negativa: envía una entrada inofensiva cerca del límite de recursos o formato asociado a este límite: el directorio de sincronización es efímero o un proxy elimina las solicitudes de sincronización grandes. Confirma que Actual Budget falla de forma visible sin corromper el estado, restablece la condición correcta y repite la transacción satisfactoria. Un registro del release que contenga esos cuatro resultados proporciona evidencias más sólidas que las capturas de un dashboard o una respuesta puntual de curl.

Traslada a Dockup el trabajo de infraestructura repetible

Dockup puede encargarse de las piezas sustituibles de la plataforma: dirigir el tráfico al puerto 5006, emitir el dominio y el certificado, inyectar secretos, conectar almacenamiento persistente y conectar Actual Budget con servicios gestionados o conectados de forma privada. Puede hacerlo en la infraestructura de Dockup o en un servidor que conectes.

El trabajo de aceptación de Actual Budget sigue siendo explícito. Después de la implementación con un clic, utiliza una URL HTTPS estable para que los clientes de sincronización confíen en el servidor, confirma el requisito local —un volumen de datos persistente y un navegador compatible para la configuración inicial— y ejecuta este escenario: crea o importa un presupuesto, añade transacciones, sincroniza un segundo navegador y genera una exportación a nivel de aplicación. Esta división es intencionada: Dockup elimina la configuración de infraestructura repetitiva sin fingir que los roles de la aplicación, las credenciales del proveedor o la política de restauración se eligen por sí solos.

Preguntas frecuentes

¿Qué necesita Actual Budget para una implementación en producción?

Dirige el contenedor de Actual Budget en el puerto 5006 a través de un único origen HTTPS. El requisito del runtime local es un volumen de datos persistente y un navegador compatible para la configuración inicial. No consideres que Actual Budget está listo hasta que puedas crear o importar un presupuesto, añadir transacciones, sincronizar un segundo navegador y generar una exportación a nivel de aplicación.

¿Qué datos de Actual Budget deben incluirse en una copia de seguridad?

Conserva /data e incluye los archivos del servidor y exportaciones periódicas de presupuestos a nivel de aplicación en el mismo manifiesto de recuperación. Una restauración limpia de Actual Budget solo es válida cuando el servidor restaurado sincroniza las mismas cuentas y saldos y la exportación independiente también se puede importar.

¿Actual Budget necesita HTTPS detrás de un reverse proxy?

Utiliza HTTPS para el origen público de Actual Budget y mantén el puerto 5006 en la ruta interna. Aplica correctamente el ajuste de Actual Budget: utiliza una URL HTTPS estable para que los clientes de sincronización confíen en el servidor. En Actual Budget, HTTPS protege las credenciales o el contenido de los usuarios durante el tránsito y mantiene coherente el comportamiento del cliente sensible al origen.

¿Cómo se debe probar una actualización de Actual Budget?

Restaura el estado actual de Actual Budget en una implementación aislada, aplica la versión candidata y repite su transacción de aceptación. Presta especial atención porque las migraciones de datos de Actual deben probarse con los archivos del servidor y un presupuesto exportado disponible para rollback. Conserva la imagen anterior de Actual Budget hasta comprender los límites de migración de datos y rollback.