Article Image

This is my curated list of open source software. Only software that I personally use and recommend is on this list. For a complete list of self-hosted software, you can see awesome-selfhosted on github.

Infrastructure & Self-Hosting

Docker Swarm

traefik -- The foundation of my docker web stack, acts as the balancer and provides TLS certs (including for this blog!)

portainer -- Use to observe containers. While it can also create stacks, I prefer to keep those definitions in a git repo, and use portainer for some of the UI log and console tooling to debug/triage

restic -- My go-to for remote, versioned and encrypted backups. Use blazeback b2 as my storage provider

prometheus with alert manager, and grafana -- For monitoring and alerting. Sends alert emails via maddy (but can easily use a gmail or whatever). Monitors both the swarm itself via CAdvisor and node_exporter

umami -- As an alternative to google analytics, umami has been great and lightweight for the fundamentals. As a server-side-only alternative, I've used goaccess as well

seafile -- My go-to for file sync, and combined with restic, backups. Use with friends and family on a relatively small VM.

frp -- Client/server port tunneling (http, https, tcp, udp). Useful when you want someone to connect to a local service on LAN using your non-home-ip

Email

Maddy with Round Cube as a Web UI - find this stack lightweight and perfectly performant for small mail systems. I wrote more about it here

Other

Kopia -- I tried a few options for Windows backups, but ultimately landed on kopia for simple local versioned backups. Otherwise I use restic (above) or borg

Home Automation

My home setup consists of a debian server running both LXC and Docker (in a LXC container).

home-assistant -- The foundation of all my home automation, running via docker

mosquitto (mqtt) -- MQTT server, attached to home-assistant and all my devices

zigbee2mqtt -- Connects the Nortek device to home-assistant via mqtt

zwavejs -- Connects zwave USB device (eg. Nortek) to other frameworks, including MQTT and home-assistant

ha-adapters -- Connects Amcrest doorbell to MQTT/home-assistant. I had tried the popular python version, but found it wasn't reliable so I wrote my own.

jellyfin -- Organizer and chromecaster for my media library. Used to use Plex, but since its security incident, and I feel like it lost sight of its goals with its new features, I switched to Jellyfin

paperless-ngx -- Paperless stores and organizes key documents, hooked up to a samba share to make the pdfs easily visible. Ingests a secret email address in maddy to make storing receipts easy.

paperless-printserver -- Custom service that adds a virtual pdf printer to the network so I can print-to-paperless

samba/cifs -- Samba, the popular network share, as a foundation to an NFS. Used with paperless, backups, and a general store

Open Canary -- A honeypot that emulates multiple services (eg. ssh, http login, vnc, etc) and reports when something tries to access it. Intrusion detection system

Custom Hardware

Wemos D1 Mini -- The D1 Mini is my go-to board for developing various customer sensors

PlatformIO -- If you're looking for something a little bit more than Arduino IDE, I've been using PlatformIO as a arduino-like framework that supports numerous boards, over-the-air updates, and has an extensive library out-of-the-box.

Development & Tooling

Environment

vscode -- Use mostly for js, golang, and general configuration editing. Occasionally use code-server for remote config management

obsidian -- Note taking app, use it extensively to keep a knowledgebase and notes about all sorts of projects

CI/CD

Drone CI CD -- Use for all my personal projects for CI, and deployments

Minio (Emulates s3) -- Stores build artifacts, mostly as outputs from Drone. Use it for deployments or loading artifacts into other builds

Verdaccio -- Stores node/npm artifacts

docker-registry-ui -- A simple UI to put infront of a docker registry image to visualize uploaded images

Tooling

rare -- Searching and aggregating information in log/text files

Silver searcher -- Need to find a line of code? This is way better than grep

Image

Chris LaPointe

Another site of Code

Back to Overview