Pues debido al debate con @hda sobre automatizacion y procesos en los que tengo algo para hacerme la vida mas facil, he decidido crear este hilo para poder compartir las ideas. Una vez compartida la idea, si a la gente le gusta se crea un hilo con un peque;o tutorial de como se hace/haria y que la gente lo pueda implementar.
Sin mas dilacion, voy a empezar con lo que yo hago y mis ideas.
Bases
Me compre un NAS (Synology) con soporte para docker para poder automatizar y crear proyectos rapidito, desde estas navidades hasta ahora he ido sentando un poco las bases y un poco jugando con docker para poder iterar rapido en las ideas.
Tecnologias
- Docker: Instalar Docker en Synology es easy
- Kotlin: Estoy usando Kotlin multiplataforma para todo lo que estoy haciendo, hay cosas que solo las hago para la JVM pero en general estoy tirando para ejecutables nativos.
- Gradle: Para hacer build de los proyectos e incluso ejecutar algunos de los procesos
Contenedores
Todo esta automatizado en este aspecto, estoy usando docker compose y tengo un archivo con toda la configuracion de los contenedores. Que se actualizan una vez a la semana de madrugada, y se levantan solos cuando hago un commit a ese fichero en concreto.
- Bazarr: Subtitulos para las series
- Gilab-runner: El runner de gitlab para integracion continua (es necesario si quieres usar CI)
- Gitlab: Tengo todos mis proyectos personales que no quiero que esten en Github (gorrito de papel de plata incoming)
- Grafana: Visor de datos, normalmente metricas, pero lo he adaptado para pillar datos de postgres sobre mis transacciones bancarias)
- Jackett: Agregador de APIs para torrenting
- Nginx: Routing desde subdominios hasta los puertos (del tipo: plex.mydomain.com)
- Plex: Tengo plex pass (lifetime) y lo uso para las series que no estan en Netflix (y Anime)
- Postgres: Monitorizacion, ahora mismo solo es para los bancos pero tengo alguna que otra idea por medio
- Radarr: Una vez configurado, se baja las peliculas automaticamente
- Runners: Estas son las imagenes que levanta el gitlab-runner y que son (o no) reutilizables, se borran cada X y sin problema.
- Sonarr: Igual que Radarr, pero para las series
Lo que yo tengo
- Las series y las peliculas se bajan automaticamente y me envian un mensaje a Telegram cuando estan disponibles en Plex.
- Plugin para firefox que envia lo que veo desde Netflix hacia Trakt.tv
- Las transacciones de los bancos las exporto y las subo al proyecto donde se meten en el postgres y puedo ver datos en grafana del tipo: Ahorros totales, gastos totales, ahorro mensual... etc
- WIP: Estoy trabajando en un templater, basicamente quiero un template para proyectos que hago (normalmente dentro del NAS) y poder crear proyectos en cuestion de segundos. Los templates estan alojados en Github y cada uno puede tener los suyos propios, por ejemplo quiero tener un template que es un servicio con Ktor en nativo y el packaging vaya en docker asi solo me preocupo de escribir el codigo que necesito en vez de todo el wrapper cada vez. Una especie de mvn-archetype pero sin ser esa basura. (Aunque esto me esta llevando mas de lo que me gustaria)
- Dotfiles: Tengo todas mis dotfiles en Gitlab y tengo la configuracion comun en un sitio y ademas en cada uno de los sistemas que uso, tengo comandos y cosas especificas:
- NAS: Tengo comandos para los gitlab runners etc
- Mac: Cosas del mac
- WSL Ubuntu: Mierdas de ubuntu
- Internamente tengo ejecutables para manejar mis proyectos, lo tengo todo configurado en un JSON. Cada proyecto tiene un alias y puedo hacer build, update y clear sin tan siquiera estar en ese directorio: build dotfiles, o para navegar facilmente al proyecto cdp dotfiles. Todo tiene autocompletado asi que no me tengo ni que acordar de los nombres
- Para el mac tengo Alfred, bastante curioso el programita ya que ahora puedo ejecutar builds etc con el Cmd+Space, ademas de tener todos mis favoritos (uso el mac para programar), y URLs como search engines en vez de todo en Firefox.
Ideas
- Automatizar completamente lo de los bancos, que cada vez que haya una transaccion, o diariamente inserte lo nuevo en la base de datos.
- Crear un webhook para que desde plex, se a;adan las cosas que ves a Trakt.tv
- Visor de datos de Trakt.tv
Recursos
Para mas recursos, hilos en profundidad, tenemos el hilo de los recursos
Si quieres que tus ideas se a;adan aqui, nombrame con @Lecherito
PD: El titulo es random, si teneis alguna idea mejor proponedla y se cambia.