1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-11 08:46:21 +00:00
Files
geek-cookbook/mkdocs.yml
David Young 6c93cf66cf Add ElfHosted to menu
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
2024-08-07 16:47:30 +12:00

478 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
- Keycloak:
- recipes/keycloak/index.md
- OIDC Provider: recipes/keycloak/setup-oidc-provider.md
- OpenLDAP: recipes/keycloak/authenticate-against-openldap.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
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