diff --git a/manuscript/docker-swarm/registry.md b/manuscript/docker-swarm/registry.md index 25fae3a..cbc26e8 100644 --- a/manuscript/docker-swarm/registry.md +++ b/manuscript/docker-swarm/registry.md @@ -11,7 +11,7 @@ The registry mirror runs as a swarm stack, using a simple docker-compose.yml. Cu ## Ingredients 1. [Docker swarm cluster](/docker-swarm/design/) with [persistent shared storage](/docker-swarm/shared-storage-ceph/) -2. [Traefik](/docker-swarm/traefik) configured per design +2. [Traefik](/docker-swarm/traefik/) configured per design 3. DNS entry for the hostname you intend to use, pointed to your [keepalived](/docker-swarm/keepalived/) IP ## Preparation diff --git a/manuscript/index.md b/manuscript/index.md index 9a41c42..5a6ae12 100644 --- a/manuscript/index.md +++ b/manuscript/index.md @@ -30,7 +30,7 @@ Welcome, fellow geek :wave: If you're impatient, just start here :point_down: Join the fun, chat with fellow geeks in realtime! -- __Fast-track with 🚀 [Premix](/premix)!__ +- __Fast-track with 🚀 [Premix](/premix/)!__ --- diff --git a/manuscript/recipes/autopirate/index.md b/manuscript/recipes/autopirate/index.md index b157a1b..d4e62eb 100644 --- a/manuscript/recipes/autopirate/index.md +++ b/manuscript/recipes/autopirate/index.md @@ -50,7 +50,7 @@ Since this recipe is so long, and so many of the tools are optional to the final Already deployed: * [X] [Docker swarm cluster](/docker-swarm/design/) with [persistent shared storage](/docker-swarm/shared-storage-ceph/) - * [X] [Traefik](/docker-swarm/traefik) configured per design + * [X] [Traefik](/docker-swarm/traefik/) configured per design * [X] DNS entry for the hostname you intend to use (*or a wildcard*), pointed to your [keepalived](/docker-swarm/keepalived/) IP Related: diff --git a/manuscript/recipes/bookstack.md b/manuscript/recipes/bookstack.md index 26f44ea..eee0f24 100644 --- a/manuscript/recipes/bookstack.md +++ b/manuscript/recipes/bookstack.md @@ -11,7 +11,7 @@ A friendly middle ground between heavyweights like MediaWiki or Confluence and [ ![BookStack Screenshot](../images/bookstack.png){ loading=lazy } -I like to protect my public-facing web UIs with an [oauth_proxy](/reference/oauth_proxy), ensuring that if an application bug (or a user misconfiguration) exposes the app to unplanned public scrutiny, I have a second layer of defense. +I like to protect my public-facing web UIs with an [oauth_proxy](/reference/oauth_proxy/), ensuring that if an application bug (or a user misconfiguration) exposes the app to unplanned public scrutiny, I have a second layer of defense. --8<-- "recipe-standard-ingredients.md" diff --git a/manuscript/recipes/collabora-online.md b/manuscript/recipes/collabora-online.md index 1456353..5a50757 100644 --- a/manuscript/recipes/collabora-online.md +++ b/manuscript/recipes/collabora-online.md @@ -13,7 +13,7 @@ It's basically the [LibreOffice](https://www.libreoffice.org/) interface in a we ## Ingredients 1. [Docker swarm cluster](/docker-swarm/design/) with [persistent shared storage](/docker-swarm/shared-storage-ceph/) -2. [Traefik](/docker-swarm/traefik) configured per design +2. [Traefik](/docker-swarm/traefik/) configured per design 3. DNS entry for the hostname (_i.e. "collabora.your-domain.com"_) you intend to use for LDAP Account Manager, pointed to your [keepalived](/docker-swarm/keepalived/) IP 4. [NextCloud](/recipes/nextcloud/) installed and operational 5. [Docker-compose](https://docs.docker.com/compose/install/) installed on your node(s) - this is a special case which needs to run outside of Docker Swarm diff --git a/manuscript/recipes/homeassistant.md b/manuscript/recipes/homeassistant.md index b750bd2..db1d4b3 100644 --- a/manuscript/recipes/homeassistant.md +++ b/manuscript/recipes/homeassistant.md @@ -129,6 +129,6 @@ Launch the Home Assistant stack by running ```docker stack deploy homeassistant Log into your new instance at https://**YOUR-FQDN**, the password you created in configuration.yml as "frontend - api_key". Then setup a bunch of sensors, and log into .**YOUR FQDN** and create some beautiful graphs :) -[^1]: I **tried** to protect Home Assistant using [oauth2_proxy](/reference/oauth_proxy), but HA is incompatible with the websockets implementation used by Home Assistant. Until this can be fixed, I suggest that geeks set frontend: api_key to a long and complex string, and rely on this to prevent malevolent internet miscreants from turning their lights on at 2am! +[^1]: I **tried** to protect Home Assistant using [oauth2_proxy](/reference/oauth_proxy/), but HA is incompatible with the websockets implementation used by Home Assistant. Until this can be fixed, I suggest that geeks set frontend: api_key to a long and complex string, and rely on this to prevent malevolent internet miscreants from turning their lights on at 2am! --8<-- "recipe-footer.md" diff --git a/manuscript/recipes/jellyfin.md b/manuscript/recipes/jellyfin.md index 8548bc0..3ba359d 100644 --- a/manuscript/recipes/jellyfin.md +++ b/manuscript/recipes/jellyfin.md @@ -5,7 +5,7 @@ description: Jellyfin is best described as "like Emby but really FOSS" # Jellyfin -[Jellyfin](https://jellyfin.org/) is best described as "_like [Emby](/recipes/emby) but really [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software)_". +[Jellyfin](https://jellyfin.org/) is best described as "_like [Emby][emby] but really [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software)_". ![Jellyfin Screenshot](../images/jellyfin.png){ loading=lazy } diff --git a/manuscript/recipes/wallabag.md b/manuscript/recipes/wallabag.md index 693d0ff..4fdb3fa 100644 --- a/manuscript/recipes/wallabag.md +++ b/manuscript/recipes/wallabag.md @@ -10,7 +10,7 @@ All saved data (_pages, annotations, images, tags, etc_) are stored on your own ![Wallabag Screenshot](../images/wallabag.png){ loading=lazy } -There are plugins for [Chrome](https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj) and [Firefox](https://addons.mozilla.org/firefox/addon/wallabagger/), as well as apps for [iOS](https://appsto.re/fr/YeqYfb.i), [Android](https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche), etc. Wallabag will also integrate nicely with my favorite RSS reader, [Miniflux](https://miniflux.net/) (_for which there is an [existing recipe](/recipes/miniflux)_). +There are plugins for [Chrome](https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj) and [Firefox](https://addons.mozilla.org/firefox/addon/wallabagger/), as well as apps for [iOS](https://appsto.re/fr/YeqYfb.i), [Android](https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche), etc. Wallabag will also integrate nicely with my favorite RSS reader, [Miniflux](https://miniflux.net/) (_for which there is an [existing recipe][miniflux]_). [Here's a video](https://player.vimeo.com/video/167435064) which shows off the UI a bit more.