diff --git a/_snippets/5-min-install.md b/_snippets/5-min-install.md new file mode 100644 index 0000000..ed74bd5 --- /dev/null +++ b/_snippets/5-min-install.md @@ -0,0 +1,6 @@ +## The easy, 5-minute install + +I share (_with [sponsors][github_sponsor] and [patrons][patreon]_) a private "_premix_" GitHub repository, which includes an ansible playbook for deploying the entire Geek's Cookbook stack, automatically. This means that members can create the entire environment with just a ```git pull``` and an ```ansible-playbook deploy.yml``` 👍 + +[patreon]: https://www.patreon.com/bePatron?u=6982506 +[github_sponsor]: https://github.com/sponsors/funkypenguin diff --git a/_snippets/recipe-cta.md b/_snippets/recipe-cta.md new file mode 100644 index 0000000..b78865f --- /dev/null +++ b/_snippets/recipe-cta.md @@ -0,0 +1,2 @@ +!!! tip + I share (_with my [sponsors](https://github.com/sponsors/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that sponsors can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 diff --git a/manuscript/CHANGELOG.md b/manuscript/CHANGELOG.md index 42690a8..4d7f0ec 100644 --- a/manuscript/CHANGELOG.md +++ b/manuscript/CHANGELOG.md @@ -13,6 +13,7 @@ Also available via: ## Recently added recipes +* Added recipe for [Komga](/recipes/komga/), a beautiful interface to manage and enjoy your comics / graphic novels (_5 Jan 2021_) * Added recipe for [Photoprism](/recipes/photoprism/), self-hosted photo app incorporating automated tagging using Tensorflow (_6 Aug 2020_) * Added recipe for [JellyFin](/recipes/jellyfin/), the [FOSS fork](https://www.linuxuprising.com/2018/12/jellyfin-free-software-emby-media.html#:~:text=The%20free%20software%20Emby%20fork,differences%20with%20the%20core%20developers.) of [Emby](/recipes/emby/) (_6 Aug 2020_) * Added recipe for [Restic](/recipes/restic/), simple and secure backup solution with **huge** range of target platforms via rclone (_25 June 2020_) diff --git a/manuscript/ha-docker-swarm/docker-swarm-mode.md b/manuscript/ha-docker-swarm/docker-swarm-mode.md index 99c2230..cfc962c 100644 --- a/manuscript/ha-docker-swarm/docker-swarm-mode.md +++ b/manuscript/ha-docker-swarm/docker-swarm-mode.md @@ -1,6 +1,6 @@ # Docker Swarm Mode -For truly highly-available services with Docker containers, we need an orchestration system. Docker Swarm (as defined at 1.13) is the simplest way to achieve redundancy, such that a single docker host could be turned off, and none of our services will be interrupted. +For truly highly-available services with Docker containers, we need an orchestration system. Docker Swarm (*as defined at 1.13*) is the simplest way to achieve redundancy, such that a single docker host could be turned off, and none of our services will be interrupted. ## Ingredients @@ -81,13 +81,13 @@ To add a manager to this swarm, run the following command: Run the command provided on your other nodes to join them to the swarm as managers. After addition of a node, the output of ```docker node ls``` (on either host) should reflect all the nodes: -```` +``` [root@ds2 davidy]# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS b54vls3wf8xztwfz79nlkivt8 ds1.funkypenguin.co.nz Ready Active Leader xmw49jt5a1j87a6ihul76gbgy * ds2.funkypenguin.co.nz Ready Active Reachable [root@ds2 davidy]# -```` +``` ### Setup automated cleanup @@ -95,7 +95,7 @@ Docker swarm doesn't do any cleanup of old images, so as you experiment with var To address this, we'll run the "[meltwater/docker-cleanup](https://github.com/meltwater/docker-cleanup)" container on all of our nodes. The container will clean up unused images after 30 minutes. -First, create docker-cleanup.env (_mine is under /var/data/config/docker-cleanup_), and exclude container images we **know** we want to keep: +First, create `docker-cleanup.env` (_mine is under `/var/data/config/docker-cleanup`_), and exclude container images we **know** we want to keep: ``` KEEP_IMAGES=traefik,keepalived,docker-mailserver @@ -136,7 +136,7 @@ Launch the cleanup stack by running ```docker stack deploy docker-cleanup -c ``` + +Log into your new instance at https://**YOUR-FQDN**. Since it's a fresh installation, Komga will prompt you to setup a username and password, after which you'll be able to setup your library, and tweak all teh butt0ns! + +## Chef's Notes 📓 + +[^1]: Since Komga doesn't need to communicate with any other services, we don't need a separate overlay network for it. Provided Traefik can reach Komga via the `traefik_public` overlay network, we've got all we need. \ No newline at end of file diff --git a/manuscript/reference/networks.md b/manuscript/reference/networks.md index 453dcb4..c101226 100644 --- a/manuscript/reference/networks.md +++ b/manuscript/reference/networks.md @@ -54,4 +54,4 @@ In order to avoid IP addressing conflicts as we bring swarm networks up/down, we | [Harbor-Clair](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.54.0/24 | | [Duplicati](https://geek-cookbook.funkypenguin.co.nz/recipes/duplicati/) | 172.16.55.0/24 | | [Restic](https://geek-cookbook.funkypenguin.co.nz/recipes/restic/) | 172.16.56.0/24 | -| [Jellyfin](https://geek-cookbook.funkypenguin.co.nz/recipes/jellyfin/) | 172.16.57.0/24 | +| [Jellyfin](https://geek-cookbook.funkypenguin.co.nz/recipes/jellyfin/) | 172.16.57.0/24 | \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index baf6102..4182ba9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -115,6 +115,7 @@ nav: - Users: recipes/keycloak/create-user.md - OIDC Provider: recipes/keycloak/setup-oidc-provider.md - OpenLDAP: recipes/keycloak/authenticate-against-openldap.md + - Komga: recipes/komga.md - Minio: recipes/minio.md - OpenLDAP: recipes/openldap.md - OwnTracks: recipes/owntracks.md @@ -248,6 +249,9 @@ markdown_extensions: - pymdownx.caret - pymdownx.critic - pymdownx.details + - pymdownx.snippets: + check_paths: true + base_path: _snippets - pymdownx.emoji: emoji_index: !!python/name:pymdownx.emoji.twemoji emoji_generator: !!python/name:pymdownx.emoji.to_svg