Sign inSign up

bernat13/timekpr-web

By bernat13

•Updated 2 months ago

Image
0

166

bernat13/timekpr-web repository overview

⁠Timekpr-Web

Timekpr-Web es un servidor web ligero y no oficial diseñado para acompañar a Timekpr-nExT⁠ en sistemas Linux. Permite controlar de forma remota (desde un teléfono móvil o cualquier otro equipo en la misma red local) el tiempo de pantalla de los usuarios en el ordenador.

Esta imagen Docker expone una sencilla API y una interfaz web moderna, posibilitando a los padres y administradores añadir o quitar tiempo, y visualizar el historial de inicio de sesión de cada usuario.

⁠Requisitos

El contenedor debe ejecutarse en la misma máquina física (host) en la que está instalado Timekpr-nExT, ya que necesita leer los archivos de estado (.time y .conf) y comunicarse con el demonio a través de D-Bus para aplicar los cambios de tiempo.

⁠Uso con Docker Compose

A continuación tienes un ejemplo completo de cómo configurar y levantar el contenedor usando docker-compose.

Crea un archivo docker-compose.yml con el siguiente contenido:

services:
  timekpr-web:
    image: bernat13/timekpr-web:latest
    container_name: timekpr-web
    restart: unless-stopped
    # Imprescindible usar la red del host para facilitar la búsqueda en la LAN
    network_mode: "host"
    volumes:
      # Montaje del socket de DBus para comunicarse con timekprd en el host
      - /run/dbus/system_bus_socket:/run/dbus/system_bus_socket
      
      # Montajes de sólo lectura para visualizar la configuración y tiempos restantes
      - /var/lib/timekpr/config:/var/lib/timekpr/config:ro
      - /var/lib/timekpr/work:/var/lib/timekpr/work:ro
      
      # Montaje de sólo lectura del historial de accesos del sistema (para las gráficas y registros de sesión)
      - /var/log/wtmp:/var/log/wtmp:ro
      
    environment:
      - DBUS_SYSTEM_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
      # Cambia estos valores por el usuario y la contraseña que prefieras usar
      - AUTH_USER=admin
      - AUTH_PASS=TuSuperContraseñaSegura123
      # El puerto en el que escuchará el servidor web
      - PORT=31415
      
    security_opt:
      # Necesario en sistemas con AppArmor estricto para poder usar DBus
      - apparmor:unconfined

Una vez creado el archivo, inicia el servidor con:

docker-compose up -d

⁠Acceso e Integración con el Teléfono Móvil

Una vez el servidor esté corriendo, puedes acceder a la interfaz web de dos formas:

  1. Vía Navegador Web: Abre tu navegador favorito y accede a http://IP_DE_TU_ORDENADOR:31415. Te pedirá el usuario y la contraseña que hayas configurado en las variables de entorno.
  2. Aplicación Móvil Android: Existe una aplicación para Android llamada "Family Timekpr" que detecta de forma automática los ordenadores de la red que tengan instalado y funcionando este contenedor. Con esta app no tendrás que recordar ni teclear las direcciones IP.

⁠Consideraciones de Seguridad

El contenedor está diseñado para funcionar de forma segura dentro de tu red local (LAN). No se recomienda exponer directamente este puerto (31415) en tu router hacia Internet (WAN) sin configurar una VPN (ej: WireGuard, Tailscale) o un proxy inverso con certificados SSL.

Tag summary

Content type

Image

Digest

sha256:619a990c7…

Size

70.9 MB

Last updated

2 months ago

docker pull bernat13/timekpr-web