mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-13 01:36:23 +00:00
@@ -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
|
||||
|
||||
@@ -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/)!__
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -11,7 +11,7 @@ A friendly middle ground between heavyweights like MediaWiki or Confluence and [
|
||||
|
||||
{ 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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 <https://grafana>.**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"
|
||||
|
||||
@@ -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)_".
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ All saved data (_pages, annotations, images, tags, etc_) are stored on your own
|
||||
|
||||
{ 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user