1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-11 00:36:29 +00:00
Files
geek-cookbook/mkdocs.yml
David Young 085a660365 fix cookie consent
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
2025-06-10 13:18:35 +12:00

498 lines
18 KiB
YAML

site_name: Funky Penguin's Geek Cookbook
site_description: 'The Geek Cookbook is a collection of guides for establishing your own highly-available docker container cluster (swarm). This swarm enables you to run self-hosted services such as GitLab, Plex, NextCloud, etc.'
site_author: 'David Young'
site_url: 'https://geek-cookbook.funkypenguin.co.nz'
edit_uri: 'edit/main/docs/'
# Fail to build if we have broken links
# strict: true
# Repository
repo_name: 'geek-cookbook'
repo_url: 'https://github.com/geek-cookbook/geek-cookbook'
# Copyright
copyright: 'Copyright &copy; 2016 - 2023 David Young, Funky Penguin Limited'
# Plugins
plugins:
search:
minify:
minify_html: true
autolinks:
git-revision-date-localized:
type: date
fallback_to_build_date: true
macros:
verbose: true
include_dir: _includes
meta-descriptions: # If not provided, auto-generate a description (https://pypi.org/project/mkdocs-meta-descriptions-plugin/)
meta:
blog:
# post_excerpt: required
post_url_format: "{date}/{file}" # this allows us to change the post title in future without breaking URLs
tags:
tags_file: blog/tags.md
rss:
match_path: blog/posts/.*
date_from_meta:
as_creation: date
categories:
- categories
- tags
abstract_chars_count: 200
image: https://geek-cookbook.funkypenguin.co.nz/images/site-logo.png
url_parameters:
utm_source: "geek-cookbook-blog"
utm_medium: "RSS"
utm_campaign: "feed-syndication"
social:
# debug: true
# debug_color: yellow
cards_layout: geek-cookbook
#theme_dir: mkdocs-material
nav:
- Home: index.md
- 🐳 Docker Swarm:
- docker-swarm/index.md
- Preparation:
- Design: docker-swarm/design.md
- Nodes: docker-swarm/nodes.md
- Shared Storage (Ceph): docker-swarm/shared-storage-ceph.md
- Shared Storage (GlusterFS): docker-swarm/shared-storage-gluster.md
- Keepalived: docker-swarm/keepalived.md
- Docker Swarm Mode: docker-swarm/docker-swarm-mode.md
- Essentials:
- Traefik: docker-swarm/traefik.md
- Traefik Forward Auth:
- docker-swarm/traefik-forward-auth/index.md
- Dex (static): docker-swarm/traefik-forward-auth/dex-static.md
- Google: docker-swarm/traefik-forward-auth/google.md
- Keycloak: docker-swarm/traefik-forward-auth/keycloak.md
- Authelia: docker-swarm/authelia.md
- Registry: docker-swarm/registry.md
- Mail Server: recipes/mail.md
- Duplicity: recipes/duplicity.md
- Recipes:
- Auto Pirate:
- recipes/autopirate/index.md
- Headphones: recipes/autopirate/headphones.md
- Heimdall: recipes/autopirate/heimdall.md
- Jackett: recipes/autopirate/jackett.md
- Lazy Librarian: recipes/autopirate/lazylibrarian.md
- Lidarr: recipes/autopirate/lidarr.md
- Mylar: recipes/autopirate/mylar.md
- NZBGet: recipes/autopirate/nzbget.md
- NZBHydra: recipes/autopirate/nzbhydra.md
- Prowlarr: recipes/autopirate/prowlarr.md
- Ombi: recipes/autopirate/ombi.md
- Radarr: recipes/autopirate/radarr.md
- Readarr: recipes/autopirate/readarr.md
- Rtorrent: recipes/autopirate/rtorrent.md
- SABnzbd: recipes/autopirate/sabnzbd.md
- Sonarr: recipes/autopirate/sonarr.md
- End: recipes/autopirate/end.md
- Archive Box: recipes/archivebox.md
- Audiobookshelf: recipes/audiobookshelf.md
- Bitwarden: recipes/bitwarden.md
- Bookstack: recipes/bookstack.md
- Calibre-Web: recipes/calibre-web.md
- Collabora Online: recipes/collabora-online.md
- CyberChef: recipes/cyberchef.md
- Duplicati: recipes/duplicati.md
- ElkarBackup: recipes/elkarbackup.md
- Emby: recipes/emby.md
- Home Assistant: recipes/homeassistant.md
- Huginn: recipes/huginn.md
- Funkwhale: recipes/funkwhale.md
- Ghost: recipes/ghost.md
- GitLab: recipes/gitlab.md
- GitLab Runner: recipes/gitlab-runner.md
- Gollum: recipes/gollum.md
- Immich: recipes/immich.md
- InstaPy: recipes/instapy.md
- Invidious: recipes/invidious.md
- Jellyfin: recipes/jellyfin.md
- Joplin Server: recipes/joplin-server.md
- Kanboard: recipes/kanboard.md
- Kavita: recipes/kavita.md
- Keycloak:
- recipes/keycloak/index.md
- OIDC Provider: recipes/keycloak/setup-oidc-provider.md
- OpenLDAP: recipes/keycloak/authenticate-against-openldap.md
- Komga: recipes/komga.md
- Linx: recipes/linx.md
- Mastodon: recipes/mastodon.md
- Mealie: recipes/mealie.md
- Miniflux: recipes/miniflux.md
- Minio: recipes/minio.md
- Munin: recipes/munin.md
- NextCloud: recipes/nextcloud.md
- NightScout: recipes/nightscout.md
- Nitter: recipes/nitter.md
- Nomie: recipes/nomie.md
- OpenLDAP: recipes/openldap.md
- OwnTracks: recipes/owntracks.md
- Paperless NG: recipes/paperless-ng.md
- Photoprism: recipes/photoprism.md
- Pixelfed: recipes/pixelfed.md
- Plex: recipes/plex.md
- phpIPAM: recipes/phpipam.md
- Portainer: recipes/portainer.md
- PrivateBin: recipes/privatebin.md
- Realms: recipes/realms.md
- Restic: recipes/restic.md
- RSS Bridge: recipes/rss-bridge.md
- SearXNG: recipes/searxng.md
- Swarmprom: recipes/swarmprom.md
- Tiny Tiny RSS: recipes/tiny-tiny-rss.md
- Traefik: docker-swarm/traefik.md
- Traefik Forward Auth:
- docker-swarm/traefik-forward-auth/index.md
- Dex (static): docker-swarm/traefik-forward-auth/dex-static.md
- Google: docker-swarm/traefik-forward-auth/google.md
- Keycloak: docker-swarm/traefik-forward-auth/keycloak.md
- Wallabag: recipes/wallabag.md
- Wekan: recipes/wekan.md
- Wetty: recipes/wetty.md
- Reference:
- OAuth Proxy: reference/oauth_proxy.md
- Data Layout: reference/data_layout.md
- Networks: reference/networks.md
- OpenVPN : reference/openvpn.md
- Troubleshooting: reference/troubleshooting.md
- ⛴ Kubernetes:
- Preparation:
- kubernetes/index.md
- Introduction: kubernetes/index.md
- Cluster:
- kubernetes/cluster/index.md
- Digital Ocean: kubernetes/cluster/digitalocean.md
# - Bare Metal: kubernetes/cluster/baremetal.md
- EKS: kubernetes/cluster/eks.md
- k3s: kubernetes/cluster/k3s.md
# - The Hard Way: kubernetes/cluster/the-hard-way.md
- Deployment:
- kubernetes/deployment/index.md
# - YAML: kubernetes/wip.md
# - Helm: kubernetes/wip.md
# - GitHub Actions: kubernetes/wip.md
- Flux:
- kubernetes/deployment/flux/index.md
- Install: kubernetes/deployment/flux/install.md
- Design: kubernetes/deployment/flux/design.md
- Operate: kubernetes/deployment/flux/operate.md
- Essentials:
- Load Balancer:
- kubernetes/loadbalancer/index.md
- k3s: kubernetes/loadbalancer/k3s.md
- MetalLB:
- kubernetes/loadbalancer/metallb/index.md
- pfSense: kubernetes/loadbalancer/metallb/pfsense.md
- Sealed Secrets: kubernetes/sealed-secrets.md
- External DNS: kubernetes/external-dns.md
- SSL Certificates:
- kubernetes/ssl-certificates/index.md
- Cert-Manager: kubernetes/ssl-certificates/cert-manager.md
- LetsEncrypt Issuers: kubernetes/ssl-certificates/letsencrypt-issuers.md
- Wildcard Certificate: kubernetes/ssl-certificates/wildcard-certificate.md
- Secret Replicator: kubernetes/ssl-certificates/secret-replicator.md
- Ingress:
- kubernetes/ingress/index.md
- Traefik:
- kubernetes/ingress/traefik/index.md
# - Dashboard: kubernetes/ingress/traefik/dashboard.md
- Nginx: kubernetes/ingress/nginx.md
- Persistence:
- NFS-Subdirectory-Provider: kubernetes/persistence/nfs-subdirectory-provider.md
- kubernetes/persistence/index.md
- Local Path Provisioner: kubernetes/persistence/local-path-provisioner.md
- TopoLVM: kubernetes/persistence/topolvm.md
- AWS EBS: kubernetes/persistence/aws-ebs.md
# - OpenEBS: kubernetes/persistence/openebs.md
- Rook Ceph:
- kubernetes/persistence/rook-ceph/index.md
- Operator: kubernetes/persistence/rook-ceph/operator.md
- Cluster: kubernetes/persistence/rook-ceph/cluster.md
# - LongHorn: kubernetes/persistence/longhorn.md
- OIDC Authentication:
- Guide: kubernetes/oidc-authentication/index.md
- Providers:
- authentik: kubernetes/oidc-authentication/authentik.md
- Keycloak: kubernetes/oidc-authentication/keycloak.md
- Platforms:
- EKS (authentik): kubernetes/oidc-authentication/eks-authentik.md
- EKS (Keycloak): kubernetes/oidc-authentication/eks-keycloak.md
- K3s (authentik): kubernetes/oidc-authentication/k3s-authentik.md
- K3s (Keycloak): kubernetes/oidc-authentication/k3s-keycloak.md
- Backup:
- kubernetes/backup/index.md
- CSI Snapshots:
- kubernetes/backup/csi-snapshots/index.md
- Snapshot Validation Webhook: kubernetes/backup/csi-snapshots/snapshot-validation-webhook.md
- Snapshot Controller: kubernetes/backup/csi-snapshots/snapshot-controller.md
- Velero: kubernetes/backup/velero.md
# - Logging:
# - fluent-bit, graylog, etc.
# - Monitoring:
# - kubernetes/monitoring/index.md
# - Prometheus: kubernetes/wip.md
# - Grafana: kubernetes/wip.md
# - AlertManager: kubernetes/wip.md
# - Goldilocks: kubernetes/wip.md
# - Reloader: kubernetes/wip.md
# - Dashboard: kubernetes/wip.md
# - Kured: kubernetes/wip.md
# - Keycloak: kubernetes/wip.md
- Recipes:
# - Harbor:
# - recipes/kubernetes/harbor/index.md
# Istio: recipes/kubernetes/harbor/istio.md
# - GitHub Actions Runners: kubernetes/wip.md
# - Cilium: kubernetes/wip.md
# - Concourse: kubernetes/wip.md
# - Flagger: kubernetes/wip.md
# - Flagger: kubernetes/wip.md
# - Flux: recipes/kubernetes/wip.md
# - FoundationDB: kubernetes/wip.md
# - Istio: recipes/kubernetes/wip.md
# - Jaeger: kubernetes/wip.md
# - Kiali: kubernetes/wip.md
- Authentik: recipes/kubernetes/authentik.md
- Dashboard: recipes/kubernetes/dashboard.md
# - Descheduler: recipes/kubernetes/descheduler.md
- Invidious: recipes/kubernetes/invidious.md
- Keycloak: recipes/kubernetes/keycloak.md
- OAuth2 Proxy: recipes/kubernetes/oauth2-proxy.md
- Mastodon: recipes/kubernetes/mastodon.md
- Polaris: recipes/kubernetes/polaris.md
# - Matrix: recipes/kubernetes/matrix.md
# - NGINX Ingress: kubernetes/wip.md
# - Polaris: kubernetes/wip.md
# - Portainer: kubernetes/wip.md
# - Prometheus: kubernetes/wip.md
# - Traefik: kubernetes/wip.md
# - Vault: kubernetes/wip.md
# - Webook Receiver: kubernetes/wip.md
# - 🧝 Elf Hosted:
# - elfhosted/index.md
# - Build Story:
# - elfhosted/build/index.md
# - A bastion of hope: elfhosted/build/bastion.md
- 🪄 ElfHosted:
- elfhosted/index.md
- 🚀 Get Premix!:
- premix/index.md
- Get Started:
- Setup: premix/ansible/operation.md
- Deploy!:
- Swarm: premix/swarm.md
- Kubernetes: premix/kubernetes.md
- Contribute:
- Ansiblizing:
- premix/ansiblizing/index.md
- Swarm: premix/ansiblizing/swarm.md
- Kubernetes: premix/ansiblizing/kubernetes.md
- Reference:
- Design: premix/ansible/design.md
- ✅ Reviews:
- blog/category/review.md
- 🪵 Blog:
- Blog: blog/index.md
- Tags: blog/tags.md
- Support: support.md
- Contribute: community/contribute.md
- Community:
- community/index.md
- Support: support.md
- Contribute: community/contribute.md
- Code of Conduct: community/code-of-conduct.md
- Discord: community/discord.md
- Matrix: community/matrix.md
- Reddit: community/reddit.md
- Mastodon: community/mastodon.md
- Forum: community/discourse.md
- GitHub: community/github.md
theme:
name: 'material'
custom_dir: 'overrides'
# disqus: 'geeks-cookbook'
logo: 'images/site-logo.svg'
favicon: 'images/site-logo.svg'
features:
- navigation.tabs
- navigation.tabs.sticky
- navigation.instant
- navigation.sections
- navigation.indexes
- navigation.top
- navigation.pruning
- navigation.path
- search.suggest
- search.share
- content.code.annotate
- content.code.copy
- header.autohide
- announce.dismiss
- toc.follow
icon:
repo: 'fontawesome/brands/github'
tag:
kubernetes: material/kubernetes
js: fontawesome/brands/js
palette:
# Palette toggle for automatic mode
- media: "(prefers-color-scheme)"
scheme: default
toggle:
icon: material/brightness-auto
name: Follow system preferences
# Toggle light mode
- media: "(prefers-color-scheme: light)"
scheme: default
primary: 'black'
accent: 'orange'
toggle:
icon: material/brightness-7
name: Burn my eyes!
# Toggle dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: 'black'
accent: 'orange'
toggle:
icon: material/brightness-4
name: Love my eyes!
font:
text: 'Ubuntu'
code: 'Ubuntu Mono'
extra:
status:
new: Recently added
deprecated: Deprecated
analytics:
provider: google
property: G-N2YBGGF31R
feedback:
title: Was this page helpful?
ratings:
- icon: material/emoticon-happy-outline
name: This page was helpful
data: 1
note: >-
Thanks for your feedback!
- icon: material/emoticon-sad-outline
name: This page could be improved
data: 0
note: >-
Thanks for your feedback! Help us improve this page by
<a href="https://github.com/geek-cookbook/geek-cookbook/issues/new/?title=[Feedback]+{title}+-+{url}" target="_blank" rel="noopener">creating an issue</a>.
consent:
title: Cookie consent
description: >-
We use cookies to recognize your repeated visits and preferences, as well
as to measure the effectiveness of our documentation and whether users
find what they're searching for. With your consent, you're helping us to
make our documentation better.
social:
- icon: 'fontawesome/brands/mastodon'
link: 'https://so.fnky.nz/@funkypenguin'
- icon: 'fontawesome/brands/github'
link: 'https://github.com/funkypenguin'
- icon: 'fontawesome/brands/discord'
link: 'http://chat.funkypenguin.co.nz'
- icon: 'simple/matrix'
link: 'http://matrix.funkypenguin.co.nz'
- icon: 'fontawesome/brands/slack'
link: 'https://communityinviter.com/apps/funkypenguin/geek-with-us'
- icon: 'fontawesome/brands/stack-overflow'
link: 'https://stackoverflow.com/cv/funkypenguin'
- icon: 'fontawesome/brands/linkedin'
link: 'https://www.linkedin.com/in/funkypenguin'
- icon: 'fontawesome/brands/facebook'
link: 'https://www.facebook.com/funkypenguinnz'
- icon: 'material/mailbox'
link: 'mailto:davidy@funkypenguin.co.nz?Subject=Hello%2C%20from%20a%20geek-cookbook%20reader%20%3B%29'
- icon: 'material/rss'
link: 'https://geek-cookbook.funkypenguin.co.nz/rss/'
generator: false
# Plausible doesn't use cookies, so no need for this!
# consent:
# title: 'Would you like a cookie? 🍪'
# description: >
# I know. cookies suck (<I>except the fresh, warm, choc-chip ones!</I>), and so does invasive tracking. Thing is, without cookies,
# analytics can't record your visit, and I can't work out where/how to invest time to make the cookbook better.
# <p>So, with your consent, I'd like to record what you look at and where you're from, so that I can make the
# cookbook even better. My analytics are public - here's <A HREF='https://plausible.io/geek-cookbook.funkypenguin.co.nz' target="_blank">all</A> I know about you! - David</p>
# cookies:
# custom: Plausible Analytics
extra_css:
- extras/css/icons.css
extra_javascript:
# - extras/javascript/plausible.js
# - extras/javascript/widgetbot.js # uncommented for dev
- https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js
- extras/javascript/tablesort.js
# Extensions
markdown_extensions:
- attr_list
- admonition
- codehilite:
linenums: true
- toc:
permalink: false
toc_depth: 3 # ignore H4/5/6
- footnotes
- pymdownx.critic
- pymdownx.arithmatex
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.details
- pymdownx.snippets:
check_paths: true
base_path: _snippets
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
options:
custom_icons:
- overrides/.icons
- pymdownx.inlinehilite
- pymdownx.magiclink:
repo_url_shorthand: true
user: funkypenguin
repo: geek-cookbook
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
- pymdownx.tabbed:
alternate_style: true
- meta
- md_in_html