$ show y0ngb1n/dockerized
This repository provides Docker Compose and Kubernetes configuration files for deploying a variety of self-hosted applications and system services. It serves as a template repository for deploying services like AdGuard Home, Bitwarden, MinIO, Traefik, and others, as well as system tools like Fail2ban and acme.sh for certificate management. The architecture is modular, with each application having its own directory containing deployment configurations (docker-compose.yml, Helm charts, Kubernetes manifests). There is no single unified application; instead, it offers reusable deployment patterns for individual services. Key entry points are the docker-compose.yml or Helm chart files within each application's directory. The repository relies on external dependencies like Docker, Kubernetes, and Helm for deployment, and the applications themselves depend on their respective upstream container images.
The LLM identified 3 files worth highlighting for reuse:
This Dockerfile demonstrates a clean multi-stage build for a Go application. It uses a build stage to compile the dae binary with dependencies and a minimal Alpine runtime stage. It includes caching of Go modules and downloads necessary geo/geosite data. The pattern is reusable for other Go applications with minimal modifications (e.g., changing the repository, version, and binary name).
This Helm chart for acme.sh provides a well-structured pattern for automated certificate renewal in Kubernetes. It separates concerns using an init container for certificate issuance and a main container for deploying the certificate to a Kubernetes secret. The chart is parameterized via values.yaml (domain, etc.) and uses annotations for secrets and service accounts. This pattern can be adapted for other certificate issuance tools with minimal changes to the init container command and secret handling.
This startup script demonstrates a robust initialization pattern for services requiring credential generation on first run. It checks for existing identity files, generates them if missing using zerotier-idtool, and then starts the service. The script handles command-line arguments for IP address and port, making it adaptable to similar services. This pattern is reusable for any service that needs to initialize credentials or configuration before starting, with only the specific tool commands requiring change.