PyPlexitas: Open Source CLI Alternative to Perplexity AI

PyPlexitas is a Python script that is designed to create an open-source alternative to Perplexity AI, a tool that provides users with detailed answers to their queries by searching the web, extracting relevant content, and using advanced language models to generate responses. The script operates by first taking a user’s query and using search engines like Bing or Google to find relevant web pages. It then scrapes the content from these web pages, processes the text into manageable chunks, and generates vector embeddings for these chunks....

May 19, 2024 · Dennis Kruyt

OpenRA Rebuilt for the Modern Era with Multi Arch Docker Images

I still remember the day I got Command and Conquer Red Alert as a birthday gift. I’ve spent too many hours to count playing this game over the years. These days, I still enjoy it from time to time, teaming up with my son or work buddies for a match. Today, thanks to OpenRA, an open-source version of Red Alert is available, not to mention Dune and Tiberian Sun. We usually play these games online, which is why I run them on my ARM-based server....

March 11, 2024 · Dennis Kruyt

Smart EV Charging with NodeRed

Smart EV Charging with NodeRed

November 5, 2023 · Dennis Kruyt

OpenSSL vulnerability don't forget your containers

OpenSSL vulnerability don’t forget your containers

November 2, 2022 · Dennis Kruyt

Building mechanical numpads

Building my own mechanical numpds

September 25, 2022 · Dennis Kruyt

Kubernetes SideCar Backup

kscb is a sidecar container, that is based upon rclone with a crontab. The sidecar container in the pod has access to the PV mount and the data on it, Rclone can then easily copy/sync to a public/private storage provider

September 29, 2021 · Dennis Kruyt

Migrate from Docker to Containerd in Kubernetes

Kubernetes is deprecating Docker as a container runtime after v1.20. Don’t Panic 😱 Docker containers are still supported, but the dockershim/Docker, the layer between Kubernetes and containerd is deprecated and will be removed from version 1.22+. https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/" So if you are running docker you need to change to a supported container runtime interface (CRI). containerd is a good choice, it is already running on your Kubernetes node if you are running Docker....

March 16, 2021 · Dennis Kruyt

Running a mailserver in Kubernetes

Running a web server in Kubernetes is easy, but a mail server is more challenging. Most of the challenges have to do with your IP infrastructure, ingress, and load balancer within Kubernetes. Here are things I learned when deploying a mail server based on Postfix on Kubernetes with MetalLB and NGINX ingress. If you have a different setup, things might or might not apply. Prevent mail loops on your secondary MX Your Postfix MX pod is maybe running on a private IP RFC1918, which is fine....

October 19, 2020 · Dennis Kruyt

Varnish in Kubernetes

This is a simple minimal but highly configurable Varnish caching service for Kubernetes. This should be placed between your ingress and your application service. simple setup It can be used in combination with multiple ingresses and application services at the same time. multiple ingress and services Setup Apply the following yaml file, replicas and environment variables can be adjusted to your need....

September 15, 2020 · Dennis Kruyt

Fortinet Fortigate in Grafana

To get metrics from your FortiGate in Grafana using Telegraf and InfluxDB. Enable SNMP on your FortiGate Put the following telegraf config in your /etc/telegraf/telegraf.d directory Edit the the agent IP and community string as appropriate # # Retrieves SNMP values from remote agents [[inputs.snmp]] agents = [ "192.168.1.1:161" ] timeout = "10s" retries = 3 version = 2 community = "monitoring" # ## SNMPv3 auth parameters sec_name = "sec_name" auth_protocol = "SHA" # Values: "MD5", "SHA", "" auth_password = "auth_pass" sec_level = "authPriv" # Values: "noAuthNoPriv", "authNoPriv", "authPriv" # #context_name = "" priv_protocol = "AES" # Values: "DES", "AES", "" priv_password = "priv_pass" name = "FortiGate" [[inputs....

June 21, 2020 · Dennis Kruyt