Autoalojamiento
Despliega OpenTickly en tu propia máquina — Docker Compose levanta Web + API + Postgres + Redis con un solo comando y en 5 minutos lo tienes en línea. 100% compatible con la API de Toggl, los clientes oficiales se conectan directo.
Poner OpenTickly en tu propia máquina solo requiere un docker-compose.yml. A continuación recorremos el proceso completo, desde cero hasta tenerlo funcionando.
Requisitos del sistema
- Cualquier máquina Linux, macOS o Windows con Docker Engine 20.10+ y Docker Compose v2 instalados
- Aproximadamente 1 GB de RAM y 1 GB de espacio en disco
- Un puerto TCP libre (por defecto
8080)
Si no tienes Docker instalado, sigue primero la guía oficial y luego vuelve aquí.
Desplegar el servidor
Paso 1 — Descarga el docker-compose.yml
Crea un directorio nuevo y descarga el archivo compose oficial:
mkdir -p opentickly && cd opentickly
wget -O docker-compose.yml \
https://raw.githubusercontent.com/CorrectRoadH/OpenTickly/main/docker-compose.ymlEste compose define tres contenedores:
- OpenTickly — Web UI + API REST (expone
8080al exterior) postgres— Base de datos (solo en la red interna, no se expone al exterior)redis— Caché y cola de tareas en segundo plano (solo en la red interna, no se expone al exterior)
Paso 2 — (Opcional) configurar .env
Los valores por defecto funcionan de fábrica. Si necesitas cambiar el puerto o las contraseñas, crea un archivo .env en el mismo directorio:
# Puerto público para la Web UI y la API
OPENTOGGL_PORT=8080
# Antes de un despliegue en producción se recomienda encarecidamente usar contraseñas fuertes
OPENTOGGL_POSTGRES_PASSWORD=postgres
OPENTOGGL_REDIS_PASSWORD=opentogglEstas tres variables son las únicas configuraciones sobreescribibles en todo el archivo compose; todo lo demás (nombre de base de datos, usuario, imagen, cadenas de conexión internas) está fijado directamente para evitar deriva de configuración. Si necesitas una personalización más profunda, edita directamente el docker-compose.yml.
En producción, cambia obligatoriamente ambas contraseñas. Los valores por defecto solo sirven para pruebas locales. Aunque Postgres/Redis no expongan puertos al host, establecer contraseñas es una medida básica frente a intrusiones en la red interna.
Paso 3 — Arrancar los contenedores
docker compose up -dAcceder a la aplicación web
Abre http://<tu-IP>:8080 en el navegador, registra la primera cuenta y ya puedes empezar a registrar tiempo.
Móvil
De momento no hay una aplicación móvil oficial, pero puedes añadir la Web UI a la pantalla de inicio del teléfono (PWA). Se está contactando con los desarrolladores de clientes Toggl de terceros como Timery para que añadan soporte de OpenTickly.
Conectar agentes de IA
OpenTickly no tiene el límite de 30 llamadas por hora a la API, lo que significa que agentes como Claude o Cursor pueden usarlo sin miedo. Combinado con toggl-cli, instalar el paquete de habilidades en el entorno del agente y en cuestión de minutos tendrás a la IA arrancando y deteniendo el temporizador y organizando proyectos por ti.
Actualización
docker compose pull
docker compose up -dDesplegar en NAS / Homelab
OpenTickly puede ejecutarse en cualquier plataforma que soporte Docker Compose. Lo siguiente no es más que envolver el flujo anterior en la interfaz de cada fabricante — los comandos subyacentes son exactamente los mismos.
CasaOS
- Abre el panel de control de CasaOS
- Ve a App Store → Instalación personalizada → Importar docker-compose
- Pega el contenido de
docker-compose.yml - Ajusta el puerto de la Web UI a
8080y guarda - Arranca la app desde el panel de control
Accede mediante http://<tu-IP-CasaOS>:8080.
ZimaOS
ZimaOS (el sistema oficial de Zimablade / Zimacube) comparte la misma App Store que CasaOS, por lo que los pasos son idénticos: App Store → Instalación personalizada → Importar docker-compose y pega el archivo compose.
Synology
Synology DSM 7.2+ soporta Docker Compose a través de Container Manager:
- Abre Container Manager → Proyecto → Crear
- Nombre del proyecto, por ejemplo
opentickly - Elige Usar docker-compose.yml y pega el archivo compose
- Avanza con el asistente hasta terminar
Si el 8080 entra en conflicto con DSM, antes de crear el proyecto añade OPENTOGGL_PORT=9090 (o
cualquier puerto libre) en la configuración de entorno.
fnOS
fnOS incluye su propio panel de Docker:
- Abre la app Docker desde el escritorio de fnOS
- En la barra lateral izquierda elige Compose → Nuevo proyecto
- Nombre del proyecto
opentickly, deja la ruta de almacenamiento por defecto - En Contenido Compose pega el archivo compose
- Pulsa Desplegar y espera a que los tres contenedores pasen a verde
Otras plataformas
Las siguientes plataformas siguen el mismo flujo de Docker Compose:
- Unraid — mediante Community Applications o el plugin Compose Manager
- TrueNAS SCALE — mediante app personalizada + Docker Compose
- Proxmox LXC — instala Docker dentro de un contenedor LXC y luego sigue los pasos de Desplegar el servidor
Referencia de configuración
Todo el archivo compose tiene solo tres configuraciones sobreescribibles:
| Variable | Por defecto | Descripción |
|---|---|---|
OPENTOGGL_PORT | 8080 | Puerto público para la Web UI y la API |
OPENTOGGL_POSTGRES_PASSWORD | postgres | Contraseña de Postgres (obligatorio cambiar en prod) |
OPENTOGGL_REDIS_PASSWORD | opentoggl | Contraseña de Redis (obligatorio cambiar en prod) |
Todas las demás configuraciones (nombre de la base de datos, usuario, tag de imagen, cadenas de conexión internas, nombres de volúmenes) están fijadas directamente en el docker-compose.yml. Si necesitas cambiarlas, edita el archivo.
Endpoints de health check
| Ruta | Uso |
|---|---|
/readyz | Comprobación de readiness (depende de DB + Redis) |
/healthz | Comprobación de liveness (si el proceso corre) |
Siguientes pasos
- Integración con IA — conecta Claude y Cursor a tu propia instancia
- Repositorio en GitHub — código fuente, Issues, Discussions
- ¿Problemas durante el despliegue? Cuéntalos en Issues