diff --git a/manuscript/premix/index.md b/manuscript/premix/index.md index 6aaf847..bd69090 100644 --- a/manuscript/premix/index.md +++ b/manuscript/premix/index.md @@ -11,600 +11,3 @@ The intention of Premix is that sponsors can launch any recipe with just a `git ## Data Layout Generally, each recipe with necessary files is contained within its own folder. The intention is that a sponsor could run `git clone git@github.com:funkypenguin/geek-cookbook-premix.git /var/data/config`, and the recipes would be laid out per the [data layout](/reference/data_layout/). - -Here's a sample of the directory structure: - -??? "What will I find in the pre-mix?" - ```bash - . - ├── README.md - ├── ansible - │   ├── README.md - │   ├── ansible.cfg - │   ├── carefully_destroy.yml - │   ├── deploy.yml - │   ├── deploy_swarm.yml - │   ├── group_vars - │   │   └── all - │   │   ├── 01_fake_vault.yml - │   │   ├── main.yml - │   │   └── vault.yml - │   ├── hosts.example - │   └── roles - │   ├── ceph - │   │   ├── tasks - │   │   │   ├── docker-swarm.yml - │   │   │   ├── kubernetes.yml - │   │   │   └── main.yml - │   │   └── templates - │   │   ├── cluster.yaml.j2 - │   │   ├── storageclass.yaml.j2 - │   │   └── toolbox.yaml.j2 - │   ├── destroy-proxmox - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   └── templates - │   │   ├── main.tf.j2 - │   │   └── swarm_node.tf.j2 - │   ├── docker-stack - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   └── vars - │   │   └── default.yaml - │   ├── docker-swarm - │   │   └── tasks - │   │   └── main.yml - │   ├── helm - │   │   └── tasks - │   │   └── main.yml - │   ├── helm-chart - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   └── vars - │   │   └── default.yaml - │   ├── k3s-master - │   │   ├── README.md - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── handlers - │   │   │   └── main.yml - │   │   ├── meta - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   ├── tests - │   │   │   ├── inventory - │   │   │   └── test.yml - │   │   └── vars - │   │   └── main.yml - │   ├── k3s-worker - │   │   ├── README.md - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── handlers - │   │   │   └── main.yml - │   │   ├── meta - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   ├── tests - │   │   │   ├── inventory - │   │   │   └── test.yml - │   │   └── vars - │   │   └── main.yml - │   ├── keepalived - │   │   └── tasks - │   │   └── main.yml - │   ├── proxmox - │   │   ├── defaults - │   │   │   └── main.yml - │   │   ├── tasks - │   │   │   └── main.yml - │   │   └── templates - │   │   ├── main.tf.j2 - │   │   └── swarm_node.tf.j2 - │   ├── traefik - │   │   └── tasks - │   │   └── main.yml - │   ├── traefik-forward-auth - │   │   └── tasks - │   │   └── main.yml - │   └── traefikv1 - │   └── tasks - │   └── main.yml - ├── autopirate - │   ├── authenticated-emails.txt-sample - │   ├── autopirate.yml - │   ├── bazarr.env-sample - │   ├── headphones.env-sample - │   ├── heimdall.env-sample - │   ├── lazylibrarian.env-sample - │   ├── lidarr.env-sample - │   ├── mylar.env-sample - │   ├── nzbget.env-sample - │   ├── nzbhydra.env-sample - │   ├── ombi.env-sample - │   ├── oscarr.env-sample - │   ├── radarr.env-sample - │   ├── sabnzbd.env-sample - │   └── sonarr.env-sample - ├── bitwarden - │   ├── bitwarden.yml - │   └── readme.md - ├── bookstack - │   ├── authenticated-emails-sample.txt - │   ├── bookstack.env-sample - │   └── bookstack.yml - ├── calibre-web - │   ├── authenticated-emails-sample.txt - │   ├── calibre-web.env-sample - │   └── calibre-web.yml - ├── ceph - ├── charts - │   ├── autopirate - │   │   ├── Chart.yaml - │   │   ├── README.MD - │   │   ├── charts - │   │   │   └── funkycore-1.0.0.tgz - │   │   ├── templates - │   │   │   ├── NOTES.txt -    │   │   ├──_helpers.tpl - │   │   │   ├── apps - │   │   │   │   ├── bazarr - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── headphones - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── lazylibrarian - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── lidarr - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── mylar - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── nzbget - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── configmap.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── nzbhydra - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── ombi - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── radarr - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── rtorrent - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   ├── sabnzbd - │   │   │   │   │   ├── config-pvc.yaml - │   │   │   │   │   ├── configmap.yaml - │   │   │   │   │   ├── deployment.yaml - │   │   │   │   │   └── service.yaml - │   │   │   │   └── sonarr - │   │   │   │   ├── config-pvc.yaml - │   │   │   │   ├── deployment.yaml - │   │   │   │   └── service.yaml - │   │   │   ├── download-pvc.yaml - │   │   │   ├── ingress - │   │   │   │   ├── kube.yaml - │   │   │   │   └── traefik.yaml - │   │   │   └── media-pvc.yaml - │   │   └── values.yaml - │   ├── autopirate-storage - │   │   └── Chart.lock - │   ├── funkycore - │   │   ├── Chart.yaml - │   │   ├── templates - │   │   │   └── _helpers.tpl - │   │   └── values.yaml - │   ├── heimdall - │   │   └── Chart.lock - │   ├── huginn - │   │   ├── Chart.yaml - │   │   ├── README.MD - │   │   ├── charts - │   │   │   └── postgresql-8.3.0.tgz - │   │   ├── myvalues.yaml - │   │   ├── templates -    │   │   ├──_helpers.tpl - │   │   │   ├── deployment.yaml - │   │   │   ├── ingress - │   │   │   │   ├── kube.yaml - │   │   │   │   └── traefik.yaml - │   │   │   ├── secret.yaml - │   │   │   └── service.yaml - │   │   └── values.yaml - │   ├── lidarr - │   │   └── Chart.lock - │   ├── rtorrent - │   │   └── Chart.lock - │   └── wash-hands - │   ├── Chart.yaml - │   ├── charts - │   │   ├── cert-manager-v0.13.0.tgz - │   │   ├── goldilocks-2.1.0.tgz - │   │   ├── grafana-1.2.5.tgz - │   │   ├── kube-eagle-1.1.5.tgz - │   │   ├── kured-1.4.2.tgz - │   │   ├── loki-0.25.0.tgz - │   │   ├── nginx-ingress-1.30.1.tgz - │   │   ├── prometheus-operator-0.11.1.tgz - │   │   └── promtail-0.18.0.tgz - │   ├── manifests - │   │   └── wash-hands - │   │   ├── charts - │   │   │   ├── cert-manager - │   │   │   │   └── templates - │   │   │   │   ├── cainjector-deployment.yaml - │   │   │   │   ├── cainjector-rbac.yaml - │   │   │   │   ├── cainjector-serviceaccount.yaml - │   │   │   │   ├── deployment.yaml - │   │   │   │   ├── rbac.yaml - │   │   │   │   ├── service.yaml - │   │   │   │   ├── serviceaccount.yaml - │   │   │   │   ├── webhook-deployment.yaml - │   │   │   │   ├── webhook-mutating-webhook.yaml - │   │   │   │   ├── webhook-rbac.yaml - │   │   │   │   ├── webhook-service.yaml - │   │   │   │   ├── webhook-serviceaccount.yaml - │   │   │   │   └── webhook-validating-webhook.yaml - │   │   │   ├── goldilocks - │   │   │   │   └── templates - │   │   │   │   ├── controller-clusterrole.yaml - │   │   │   │   ├── controller-clusterrolebinding.yaml - │   │   │   │   ├── controller-deployment.yaml - │   │   │   │   ├── controller-serviceaccount.yaml - │   │   │   │   ├── dashboard-clusterrole.yaml - │   │   │   │   ├── dashboard-clusterrolebinding.yaml - │   │   │   │   ├── dashboard-deployment.yaml - │   │   │   │   ├── dashboard-service.yaml - │   │   │   │   └── dashboard-serviceaccount.yaml - │   │   │   ├── kured - │   │   │   │   └── templates - │   │   │   │   ├── clusterrole.yaml - │   │   │   │   ├── clusterrolebinding.yaml - │   │   │   │   ├── daemonset.yaml - │   │   │   │   ├── role.yaml - │   │   │   │   ├── rolebinding.yaml - │   │   │   │   └── serviceaccount.yaml - │   │   │   └── nginx-ingress - │   │   │   └── templates - │   │   │   ├── clusterrole.yaml - │   │   │   ├── clusterrolebinding.yaml - │   │   │   ├── controller-deployment.yaml - │   │   │   ├── controller-role.yaml - │   │   │   ├── controller-rolebinding.yaml - │   │   │   ├── controller-service.yaml - │   │   │   ├── controller-serviceaccount.yaml - │   │   │   ├── default-backend-deployment.yaml - │   │   │   ├── default-backend-service.yaml - │   │   │   └── default-backend-serviceaccount.yaml - │   │   └── templates - │   │   ├── issuer-letsencrypt-staging-cloudflare.yaml - │   │   ├── issuer-letsencrypt-staging.yaml - │   │   ├── secret.yaml - │   │   └── test.yaml - │   ├── myvalues.yaml - │   ├── templates - │   │   ├── issuer-letsencrypt-prod.yaml - │   │   ├── issuer-letsencrypt-staging.yaml - │   │   └── secret.yaml - │   └── values.yaml - ├── cryptominer - │   ├── monitor-gpu.sh - │   └── stats-to-influxdb.sh - ├── dex - │   ├── README.md - │   ├── config.yml.example - │   └── dex.yml - ├── diskover - │   ├── diskover.env-sample - │   ├── diskover.yml - │   └── diskoverdash.env-sample - ├── docker-cleanup - │   ├── docker-cleanup.env-sample - │   └── docker-cleanup.yml - ├── dozzle - │   ├── authenticated-emails.txt-sample - │   ├── dozzle.env-sample - │   └── dozzle.yml - ├── duplicacy - │   ├── authenticated-emails.txt-sample - │   ├── duplicacy.env - │   └── duplicacy.yml - ├── duplicity - │   ├── duplicity.env-sample - │   └── duplicity.yml - ├── elkarbackup - │   ├── elkarbackup.env-sample - │   ├── elkarbackup.yml - │   └── elkarbackup.yml.proxy - ├── emby - │   ├── emby.env-sample - │   └── emby.yml - ├── filebrowser - │   ├── README.md - │   ├── config.json - │   ├── filebrowser.env.sample - │   ├── filebrowser.yml - │   ├── hostname - │   ├── hosts - │   └── resolv.conf - ├── ghost - │   └── ghost.yml - ├── gitlab - │   └── gitlab.yml - ├── gollum - │   ├── authenticated-emails-sample.txt - │   ├── gollum.env-sample - │   └── gollum.yml - ├── hackmd - │   ├── authenticated-emails-sample.txt - │   ├── hackmd-backup.env - │   ├── hackmd.env - │   └── hackmd.yml - ├── homeassistant - │   ├── README.md - │   ├── grafana.env-sample - │   ├── homeassistant.env-sample - │   └── homeassistant.yml - ├── huginn - │   ├── huginn.env-sample - │   ├── huginn.yml - │   └── kubernetes - │   ├── app.yml - │   ├── db-persistent-volumeclaim.yml - │   ├── db.yml - │   ├── ingress.yml - │   └── namespace.yml - ├── instapy - │   └── instapy.yml - ├── jellyfin - │   ├── jellyfin.env-sample - │   ├── jellyfin.yml - │   └── readme.md - ├── kanboard - │   ├── authenticated-emails-sample.txt - │   ├── kanboard.env-sample - │   ├── kanboard.yml - │   └── kubernetes - │   ├── app-persistent-volumeclaim.yml - │   ├── app.yml - │   ├── config.php - │   ├── ingress.yml - │   └── namespace.yml - ├── keycloak - │   ├── keycloak-backup.env-sample - │   ├── keycloak.env-sample - │   └── keycloak.yml - ├── mailserver - │   ├── mailserver.env-sample - │   └── mailserver.yml - ├── mastodon - │   └── mastodon.yml - ├── mattermost - │   ├── mattermost-backup.env-sample - │   ├── mattermost.env-sample - │   └── mattermost.yml - ├── mayan - │   ├── authenticated-emails-sample.txt - │   ├── mayan-backup.env - │   ├── mayan.env - │   └── mayan.yml - ├── miniflux - │   ├── kubernetes - │   │   ├── app.yml - │   │   ├── db-persistent-volumeclaim.yml - │   │   ├── db.yml - │   │   ├── ingress.yml - │   │   └── namespace.yml - │   ├── miniflux-backup.env-sample - │   ├── miniflux.env-sample - │   └── miniflux.yml - ├── minio - │   ├── minio.env-sample - │   └── minio.yml - ├── munin - │   ├── munin.env-sample - │   └── munin.yml - ├── nextcloud - │   ├── kubernetes - │   │   ├── app-persistent-volumeclaim.yml - │   │   ├── app.yml - │   │   ├── db-persistent-volumeclaim.yml - │   │   ├── db.yml - │   │   ├── ingress.yml - │   │   └── namespace.yml - │   ├── nextcloud.env-sample - │   └── nextcloud.yml - ├── owntracks - │   ├── owntracks.env - │   └── owntracks.yml - ├── phpipam - │   ├── nginx.conf-sample - │   ├── phpipam-backup.env-sample - │   ├── phpipam.env-sample - │   └── phpipam.yml - ├── piwik - │   └── piwik.yml - ├── plex - │   ├── nowshowing.env-sample - │   ├── plex.env-sample - │   ├── plex.yml - │   └── tautulli.env-sample - ├── portainer - │   ├── portainer-agent-stack.yml - │   ├── portainer.env-sample - │   ├── portainer.yml - │   └── portainer_with_oauth.yml - ├── privatebin - │   ├── authenticated-emails.txt-sample - │   ├── privatebin.env-sample - │   └── privatebin.yml - ├── realms - │   ├── authenticated-emails-sample.txt - │   ├── bookstack_authenticated-emails-sample.txt - │   ├── realms.env - │   └── realms.yml - ├── registry - │   ├── registry-mirror-config.yml - │   └── registry.yml - ├── shaarli - │   ├── authenticated-emails-sample.txt - │   ├── shaarli.env - │   ├── shaarli.env-sample - │   └── shaarli.yml - ├── shepherd - │   ├── shepherd.env-sample - │   └── shepherd.yml - ├── swarmprom - │   ├── Caddyfile - │   ├── alertmanager.env-sample - │   ├── grafana.env-sample - │   ├── prometheus.env-sample - │   ├── swarm_node.rules.yml - │   ├── swarm_task.rules.yml - │   ├── swarmprom.yml - │   └── unsee.env-sample - ├── tools - │   ├── README.MD.TEMPLATE - │   ├── aliases.sh - │   ├── chart.sh - │   ├── helm-boilerplate - │   │   ├── Chart.yaml - │   │   ├── templates - │   │   │   ├── NOTES.TXT -    │   │   ├──_helpers.tpl - │   │   │   ├── deployment.yaml - │   │   │   ├── ingress - │   │   │   │   ├── kube.yaml - │   │   │   │   └── traefik.yaml - │   │   │   ├── secret.yaml - │   │   │   └── service.yaml - │   │   └── values.yaml - │   └── mkreadme.py - ├── traefik - │   ├── traefik.env-sample - │   └── traefik.yml - ├── traefik-forward-auth - │   ├── README-traefik-with-non-swarm-backends.txt - │   ├── traefik-forward-auth.env-sample - │   └── traefik-forward-auth.yml - ├── traefikv1 - │   ├── README-traefik-with-non-swarm-backends.txt - │   ├── authenticated-emails.txt-sample - │   ├── traefik.toml-sample - │   ├── traefikv1.env-sample - │   └── traefikv1.yml - ├── ttrss - │   ├── ttrss.env-sample - │   └── ttrss.yml - ├── turtle-pool - │   └── kubernetes - │   ├── README.md - │   ├── config.js - │   ├── custom.css - │   ├── daemon-persistent-volumeclaim.yml - │   ├── daemon.yml - │   ├── namespace.yml - │   ├── pool-ingress.yml - │   ├── pool-persistent-volumeclaim.yml - │   ├── pool-service-nodeport.yml - │   ├── pool-service.yml - │   ├── pool.yml - │   ├── redis-persistent-volumeclaim.yml - │   ├── redis.conf - │   ├── redis.yml - │   ├── trtl.json-example - │   ├── wallet-persistent-volumeclaim.yml - │   ├── wallet.conf-example - │   ├── wallet.yml - │   └── webhook_token.secret-example - ├── unifi - │   ├── authenticated-emails-sample.txt - │   ├── kubernetes - │   │   ├── authenticated-emails-sample.txt - │   │   ├── controller-persistent-volumeclaim.yml - │   │   ├── ingress.yml - │   │   ├── namespace.yml - │   │   ├── proxy.yaml - │   │   ├── service-controller-external.yml - │   │   └── unifi.yaml - │   ├── unifi.yml - │   └── unifi_with_proxy.yml - ├── wallabag - │   ├── authenticated-emails.txt-sample - │   ├── wallabag-backup.env-sample - │   ├── wallabag.env-sample - │   └── wallabag.yml - ├── wash-hands - │   ├── README.md - │   ├── azure-pipelines.yml - │   ├── manifests - │   │   └── wash-hands - │   │   └── charts - │   │   ├── goldilocks - │   │   │   └── templates - │   │   │   ├── controller-clusterrole.yaml - │   │   │   ├── controller-clusterrolebinding.yaml - │   │   │   ├── controller-deployment.yaml - │   │   │   ├── controller-serviceaccount.yaml - │   │   │   ├── dashboard-clusterrole.yaml - │   │   │   ├── dashboard-clusterrolebinding.yaml - │   │   │   ├── dashboard-deployment.yaml - │   │   │   ├── dashboard-service.yaml - │   │   │   └── dashboard-serviceaccount.yaml - │   │   ├── kured - │   │   │   └── templates - │   │   │   ├── clusterrole.yaml - │   │   │   ├── clusterrolebinding.yaml - │   │   │   ├── daemonset.yaml - │   │   │   ├── role.yaml - │   │   │   ├── rolebinding.yaml - │   │   │   └── serviceaccount.yaml - │   │   └── nginx-ingress - │   │   └── templates - │   │   ├── clusterrole.yaml - │   │   ├── clusterrolebinding.yaml - │   │   ├── controller-deployment.yaml - │   │   ├── controller-role.yaml - │   │   ├── controller-rolebinding.yaml - │   │   ├── controller-service.yaml - │   │   ├── controller-serviceaccount.yaml - │   │   ├── default-backend-deployment.yaml - │   │   ├── default-backend-service.yaml - │   │   └── default-backend-serviceaccount.yaml - │   └── scripts - │   └── local-ci.sh - ├── wekan - │   ├── authenticated-emails-sample.txt - │   ├── wekan.env-sample - │   └── wekan.yml - └── wetty - ├── wetty.env-sample - └── wetty.yml - - 166 directories, 422 files - ```