From 7d9e5b2a15e1c3b45a743f4ae2ca37f6c6cc4699 Mon Sep 17 00:00:00 2001 From: David Young Date: Mon, 8 Jan 2018 21:03:51 +1300 Subject: [PATCH] Add support details --- manuscript/ha-docker-swarm/design.md | 8 +++++++- manuscript/ha-docker-swarm/docker-swarm-mode.md | 7 ++++++- manuscript/ha-docker-swarm/keepalived.md | 5 ++++- manuscript/ha-docker-swarm/shared-storage-ceph.md | 5 ++++- manuscript/ha-docker-swarm/shared-storage-gluster.md | 5 ++++- manuscript/ha-docker-swarm/traefik.md | 5 ++++- manuscript/ha-docker-swarm/vms.md | 7 ++++++- manuscript/recipies/autopirate.md | 6 +++++- manuscript/recipies/duplicity.md | 6 +++++- manuscript/recipies/emby.md | 6 +++++- manuscript/recipies/ghost.md | 6 +++++- manuscript/recipies/gitlab-runner.md | 6 +++++- manuscript/recipies/gitlab.md | 6 +++++- manuscript/recipies/gollum.md | 5 ++++- manuscript/recipies/homeassistant.md | 6 +++++- manuscript/recipies/huginn.md | 5 ++++- manuscript/recipies/kanboard.md | 5 ++++- manuscript/recipies/mail.md | 6 +++++- manuscript/recipies/miniflux.md | 5 ++++- manuscript/recipies/nextcloud.md | 6 +++++- manuscript/recipies/owntracks.md | 6 +++++- manuscript/recipies/piwik.md | 6 +++++- manuscript/recipies/plex.md | 6 +++++- manuscript/recipies/portainer.md | 6 +++++- manuscript/recipies/template.md | 6 +++++- manuscript/recipies/tiny-tiny-rss.md | 6 +++++- manuscript/recipies/wekan.md | 5 ++++- manuscript/reference/data_layout.md | 8 +++++++- manuscript/reference/git-docker.md | 8 +++++++- manuscript/reference/networks.md | 9 ++++++++- manuscript/reference/oauth_proxy.md | 8 +++++++- manuscript/reference/openvpn.md | 8 +++++++- manuscript/reference/troubleshooting.md | 9 +++++++++ 33 files changed, 175 insertions(+), 32 deletions(-) diff --git a/manuscript/ha-docker-swarm/design.md b/manuscript/ha-docker-swarm/design.md index 1943ec1..db3c61e 100644 --- a/manuscript/ha-docker-swarm/design.md +++ b/manuscript/ha-docker-swarm/design.md @@ -88,4 +88,10 @@ In summary, although I suffered an **unplanned power outage to all of my infrast [^1]: Since there's no impact to availability, I can fix (or just reinstall) the failed node whenever convenient. -## Your comments? +## Chef's Notes + +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/docker-swarm-mode.md b/manuscript/ha-docker-swarm/docker-swarm-mode.md index 32a75d8..4d09036 100644 --- a/manuscript/ha-docker-swarm/docker-swarm-mode.md +++ b/manuscript/ha-docker-swarm/docker-swarm-mode.md @@ -234,5 +234,10 @@ curl -O https://raw.githubusercontent.com/funkypenguin/geek-cookbook/master/exam echo 'source ~/gcb-aliases.sh' >> ~/.bash_profile ``` +## Chef's Notes -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/keepalived.md b/manuscript/ha-docker-swarm/keepalived.md index 38ae5be..0a60cc2 100644 --- a/manuscript/ha-docker-swarm/keepalived.md +++ b/manuscript/ha-docker-swarm/keepalived.md @@ -69,5 +69,8 @@ That's it. Each node will talk to the other via unicast (no need to un-firewall 1. Some hosting platforms (OpenStack, for one) won't allow you to simply "claim" a virtual IP. Each node is only able to receive traffic targetted to its unique IP. In this case, keepalived is not the right solution, and a platform-specific load-balancing solution should be used. In OpenStack, this is Neutron's "Load Balancer As A Service" (LBAAS) component. AWS and Azure would likely include similar protections. 2. More than 2 nodes can participate in keepalived. Simply ensure that each node has the appropriate priority set, and the node with the highest priority will become the master. +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/shared-storage-ceph.md b/manuscript/ha-docker-swarm/shared-storage-ceph.md index e9e968f..5f9d9f7 100644 --- a/manuscript/ha-docker-swarm/shared-storage-ceph.md +++ b/manuscript/ha-docker-swarm/shared-storage-ceph.md @@ -201,5 +201,8 @@ Future enhancements to this recipe include: 1. Rather than pasting a secret key into /etc/fstab (which feels wrong), I'd prefer to be able to set "secretfile" in /etc/fstab (which just points ceph.mount to a file containing the secret), but under the current CentOS Atomic, we're stuck with "secret", per https://bugzilla.redhat.com/show_bug.cgi?id=1030402 2. This recipe was written with Ceph v11 "Jewel". Ceph have subsequently releaesd v12 "Kraken". I've updated the recipe for the addition of "Manager" daemons, but it should be noted that the [only reader so far](https://discourse.geek-kitchen.funkypenguin.co.nz/u/ggilley) to attempt a Ceph install using CentOS Atomic and Ceph v12 had issues with OSDs, which lead him to [move to Ubuntu 1604](https://discourse.geek-kitchen.funkypenguin.co.nz/t/shared-storage-ceph-funky-penguins-geek-cookbook/47/24?u=funkypenguin) instead. +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/shared-storage-gluster.md b/manuscript/ha-docker-swarm/shared-storage-gluster.md index 8c94344..c4b523c 100644 --- a/manuscript/ha-docker-swarm/shared-storage-gluster.md +++ b/manuscript/ha-docker-swarm/shared-storage-gluster.md @@ -163,5 +163,8 @@ Future enhancements to this recipe include: 1. Migration of shared storage from GlusterFS to Ceph ()[#2](https://gitlab.funkypenguin.co.nz/funkypenguin/geeks-cookbook/issues/2)) 2. Correct the fact that volumes don't automount on boot ([#3](https://gitlab.funkypenguin.co.nz/funkypenguin/geeks-cookbook/issues/3)) +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/traefik.md b/manuscript/ha-docker-swarm/traefik.md index ac85762..bd2feae 100644 --- a/manuscript/ha-docker-swarm/traefik.md +++ b/manuscript/ha-docker-swarm/traefik.md @@ -150,5 +150,8 @@ Additional features I'd like to see in this recipe are: 2. Traefik webUI is available via HTTPS, protected with oauth_proxy 3. Pending a feature in docker-swarm to avoid NAT on routing-mesh-delivered traffic, update the design +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/ha-docker-swarm/vms.md b/manuscript/ha-docker-swarm/vms.md index 8c7e882..b3723b2 100644 --- a/manuscript/ha-docker-swarm/vms.md +++ b/manuscript/ha-docker-swarm/vms.md @@ -84,5 +84,10 @@ After completing the above, you should have: running Docker v1.13 (docker-latest) ``` +## Chef's Notes -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/autopirate.md b/manuscript/recipies/autopirate.md index 93ec6bf..dea49f5 100644 --- a/manuscript/recipies/autopirate.md +++ b/manuscript/recipies/autopirate.md @@ -571,4 +571,8 @@ Log into each of your new tools at its respective HTTPS URL. You'll be prompted 1. In many cases, tools will integrate with each other. I.e., Radarr needs to talk to SABnzbd and NZBHydra, Ombi needs to talk to Radarr, etc. Since each tool runs within the stack under its own name, just refer to each tool by name (i.e. "radarr"), and docker swarm will resolve the name to the appropriate container. You can identify the tool-specific port by looking at the docker-compose service definition. -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/duplicity.md b/manuscript/recipies/duplicity.md index 7d16ef9..3a30147 100644 --- a/manuscript/recipies/duplicity.md +++ b/manuscript/recipies/duplicity.md @@ -165,4 +165,8 @@ Nothing will happen. Very boring. But when the cron script fires (daily), duplic 1. Automatic backup can still fail if nobody checks that it's running successfully. I'll be working on an upcoming recipe to monitor the elements of the stack, including the success/failure of duplicity jobs. 2. The container provides the facility to specify an SMTP host and port, but not credentials, which makes it close to useless. As a result, I've left SMTP out of this recipe. To enable email notifications (if your SMTP server doesn't require auth), add ```SMTP_HOST```, ```SMTP_PORT```, ```EMAIL_FROM``` and ```EMAIL_TO``` variables to duplicity.env -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/emby.md b/manuscript/recipies/emby.md index f1d7992..d7ed403 100644 --- a/manuscript/recipies/emby.md +++ b/manuscript/recipies/emby.md @@ -89,4 +89,8 @@ Log into your new instance at https://**YOUR-FQDN**, and complete the wizard-bas 2. I used the LinuxServer docker container, even though still under "active development", to maintain consistency with the [Plex](/recipies/plex/) and [autopirate](/recipies/autopirate/) recipies. 3. We don't bother exposing the HTTPS port for Emby, since [Traefik](/ha-docker-swarm/traefik/) is doing the SSL termination for us already. -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/ghost.md b/manuscript/recipies/ghost.md index 1f1aa94..728ce53 100644 --- a/manuscript/recipies/ghost.md +++ b/manuscript/recipies/ghost.md @@ -70,4 +70,8 @@ Create your first administrative account at https://**YOUR-FQDN**/admin/ [root@ds1 ghost]# ``` -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/gitlab-runner.md b/manuscript/recipies/gitlab-runner.md index 0088b78..da52590 100644 --- a/manuscript/recipies/gitlab-runner.md +++ b/manuscript/recipies/gitlab-runner.md @@ -62,4 +62,8 @@ Log into your new instance at https://**YOUR-FQDN**, with user "root" and the pa 2. Originally I deployed runners in the same stack as GitLab, but I found that they would frequently fail to start properly when I launched the stack. I think that this was because the runners started so quickly (and GitLab starts so slowly!), that they always started up reporting that the GitLab instance was invalid or unavailable. I had issues with CI builds stuck permanently in a "pending" state, which were only resolved by restarting the runner. Having the runners deployed in a separate stack to GitLab avoids this problem. -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/gitlab.md b/manuscript/recipies/gitlab.md index a8eb33c..71fd9e7 100644 --- a/manuscript/recipies/gitlab.md +++ b/manuscript/recipies/gitlab.md @@ -134,4 +134,8 @@ A few comments on decisions taken in this design: 1. I use the **sameersbn/gitlab:latest** image, rather than a specific version. This lets me execute updates simply by redeploying the stack (and why **wouldn't** I want the latest version?) -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/gollum.md b/manuscript/recipies/gollum.md index 3ff0c99..7725c9e 100644 --- a/manuscript/recipies/gollum.md +++ b/manuscript/recipies/gollum.md @@ -129,5 +129,8 @@ Authenticate against your OAuth provider, and then start editing your wiki! 1. In the current implementation, Gollum is a "single user" tool only. The contents of the wiki are saved as markdown files under /var/data/gollum, and all the git commits are currently "Anonymous" +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/homeassistant.md b/manuscript/recipies/homeassistant.md index 7f2b028..26687b7 100644 --- a/manuscript/recipies/homeassistant.md +++ b/manuscript/recipies/homeassistant.md @@ -132,4 +132,8 @@ Log into your new instance at https://**YOUR-FQDN**, the password you created in 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! -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/huginn.md b/manuscript/recipies/huginn.md index e62e431..8bbe337 100644 --- a/manuscript/recipies/huginn.md +++ b/manuscript/recipies/huginn.md @@ -144,5 +144,8 @@ Log into your new instance at https://**YOUR-FQDN**. You'll need to use the "Sig 1. I initially considered putting an oauth proxy in front of Huginn, but since the invitation code logic prevents untrusted access, and since using a proxy would break oauth for sevices like Twitter integration, I left it out. +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/kanboard.md b/manuscript/recipies/kanboard.md index efcf266..62737b4 100644 --- a/manuscript/recipies/kanboard.md +++ b/manuscript/recipies/kanboard.md @@ -106,5 +106,8 @@ Log into your new instance at https://**YOUR-FQDN**. Default credentials are adm 1. The default theme can be significantly improved by applying the [ThemePlus](https://github.com/phsteffen/kanboard-themeplus) plugin. 2. Kanboard becomes more useful when you integrate in/outbound email with [MailGun](https://github.com/kanboard/plugin-mailgun), [SendGrid](https://github.com/kanboard/plugin-sendgrid), or [Postmark](https://github.com/kanboard/plugin-postmark). +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/mail.md b/manuscript/recipies/mail.md index 261fd11..4ed1d9a 100644 --- a/manuscript/recipies/mail.md +++ b/manuscript/recipies/mail.md @@ -171,4 +171,8 @@ Launch the mail server stack by running ```docker stack deploy docker-mailserver 2. If you're using sieve with Rainloop, take note of the [workaround](https://discourse.geek-kitchen.funkypenguin.co.nz/t/mail-server-funky-penguins-geek-cookbook/70/15) identified by [ggilley](https://discourse.geek-kitchen.funkypenguin.co.nz/u/ggilley) -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/miniflux.md b/manuscript/recipies/miniflux.md index f72e806..835656f 100644 --- a/manuscript/recipies/miniflux.md +++ b/manuscript/recipies/miniflux.md @@ -71,5 +71,8 @@ Log into your new instance at https://**YOUR-FQDN**. Default credentials are adm 1. I chose [saghul/miniflux](https://hub.docker.com/r/saghul/miniflux/)'s over the "official" [miniflux/miniflux](https://hub.docker.com/r/miniflux/miniflux/) image, because currently the official image doesn't log to stdout (which you want, for docker logging commands), and because I have an expectation that nginx is more lightweight (faster) than apache. 2. Find the bookmarklet under the "about" page. I know, it took me ages too. +### Tip your waiter (donate) 👏 -## Your comments? +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/nextcloud.md b/manuscript/recipies/nextcloud.md index b08a180..603875c 100644 --- a/manuscript/recipies/nextcloud.md +++ b/manuscript/recipies/nextcloud.md @@ -190,4 +190,8 @@ Then navigate to https:///index.php/settings/admin/additional, scroll 1. Since many of my other recipies use PostgreSQL, I'd have preferred to use Postgres over MariaDB, but MariaDB seems to be the [preferred database type](https://github.com/nextcloud/server/issues/5912). -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/owntracks.md b/manuscript/recipies/owntracks.md index 66535e1..4ccd4df 100644 --- a/manuscript/recipies/owntracks.md +++ b/manuscript/recipies/owntracks.md @@ -114,4 +114,8 @@ Log into your new instance at https://**YOUR-FQDN**, with user "root" and the pa 1. If you wanted to expose the Wekan UI directly, you could remove the oauth2_proxy from the design, and move the traefik-related labels directly to the wekan container. You'd also need to add the traefik network to the wekan container. -## Your comments? +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/manuscript/recipies/piwik.md b/manuscript/recipies/piwik.md index a160805..0e3df08 100644 --- a/manuscript/recipies/piwik.md +++ b/manuscript/recipies/piwik.md @@ -92,4 +92,8 @@ Launch the Piwik stack by running ```docker stack deploy piwik -c _``` to watch a particular service. As the service dies and is recreated, the logs will continue to be displayed. + + +## Chef's Notes + +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬