Ir al contenido

Ejecuta Metribay tú mismo

La edición self-hosted, también llamada Edición personal, es Metribay en tu servidor. Es gratis y de código abierto bajo licencia Apache-2.0.

Self-hosted Metribay Cloud
Coste Gratis Consulta Planes y facturación
Personas Una Equipos con roles
Espacios de trabajo Uno en segundo plano Hasta 5
Proyectos y fuentes de datos Sin límite 10 y 50 activos
Integraciones Las siete Las siete
Actualizaciones, copias de seguridad, uptime Tú Nosotros
Botón Google sign-in Tu propia app de Google La proporcionamos cuando esté disponible

Elige self-hosting si te manejas con una aplicación PHP y quieres todo en tu hardware. Elige Cloud si prefieres no cuidar un servidor o quieres trabajar con otros.

  • PHP 8.5 o posterior con extensiones cURL, OpenSSL, PDO (SQLite o PostgreSQL), intl y mbstring
  • Composer 2
  • SQLite para instalación personal, o PostgreSQL
  • Forma de mantener dos procesos en segundo plano (systemd, Supervisor) y cron
  • Node 24 solo si quieres reconstruir assets del frontend. El release los incluye.
  1. Ejecuta el script de setup desde la raíz del repositorio y entra en la aplicación:

    Terminal window
    ./scripts/setup.sh
    cd standalone
  2. Crea tu cuenta. El comando pide la contraseña en privado:

    Terminal window
    php artisan metribay:install [email protected]
  3. Arranca el servidor web. Para una prueba local rápida:

    Terminal window
    php artisan serve --host=127.0.0.1 --port=8000

    En producción, sirve el directorio standalone/public por HTTPS con tu servidor web.

  4. Arranca el worker de cola y el scheduler como procesos largos separados:

    Terminal window
    php artisan queue:work --timeout=900
    php artisan schedule:work

    En producción, el worker bajo un gestor de procesos; en lugar de schedule:work, una entrada cron cada minuto para php artisan schedule:run.

Inicia sesión con el correo y la contraseña que elegiste. El registro está desactivado: la instalación pertenece a la única cuenta que creaste.

El scheduler inicia la recogida cada cuatro horas, los monitores de uptime cada hora y un refresco completo del historial una vez a la semana, igual que en Cloud. La recogida solo ocurre mientras el worker de cola y el scheduler están en marcha.

Para iniciar una sync a mano:

Terminal window
php artisan metribay:sync # queue every active data source
php artisan metribay:sync --kind=github # only one provider
php artisan metribay:sync --except=uptimerobot
php artisan metribay:sync --source=12 # one data source by ID
php artisan metribay:sync --full # reread the whole history window
php artisan metribay:sync --inline # run now, without the queue

Cada integración funciona con tus propias credenciales, como en las guías de integración. Nada pasa por los servidores de Metribay.

Para un botón Conectar Google en Analytics y Search Console, crea tu cliente OAuth:

  1. En Google Cloud, activa las APIs Analytics Admin, Analytics Data y Search Console.

  2. Crea un cliente OAuth tipo Web application con esta URI de redirección (tu dirección): https://metribay.example.com/integrations/google/callback

  3. Añade los datos a tu .env:

    METRIBAY_GOOGLE_CLIENT_ID=your-client-id
    METRIBAY_GOOGLE_CLIENT_SECRET=your-client-secret
    METRIBAY_GOOGLE_REDIRECT_URI=https://metribay.example.com/integrations/google/callback

Mientras tu app de Google esté en modo de prueba, Google caduca los inicios de sesión a los siete días. Las cuentas de servicio no tienen ese problema.

  • HTTPS con APP_ENV=production y APP_DEBUG=false.

  • Mantén .env, la base de datos y las copias de seguridad fuera del directorio web público.

  • No cachees páginas con sesión iniciada en CDN o proxy.

  • Tras actualizar, migraciones, publicar assets y reiniciar el worker:

    Terminal window
    php artisan migrate --force
    php artisan vendor:publish --tag=metribay-assets --force
    php artisan queue:restart
  • Configura un transporte de correo para que lleguen los reset de contraseña.

Respalda dos cosas por separado:

  • La base de datos. Para SQLite, usa el backup online de SQLite en lugar de copiar el archivo en uso. Para PostgreSQL, pg_dump.
  • APP_KEY. Las credenciales guardadas se cifran con ella. Sin la clave, un backup de la base no puede descifrarlas. No cambies la clave sin planificar el recifrado.

Prueba una restauración de vez en cuando. El export de configuración también ayuda, pero no es un backup completo: no incluye historial ni credenciales.

Exporta tu configuración, regístrate en Cloud, añade tus cuentas conectadas con los mismos nombres e importa el archivo. Cloud volverá a recoger tu historial de tus proveedores, dentro de la ventana de historial de cada fuente.