diff --git a/manuscript/advanced/tiny-tiny-rss.md b/manuscript/advanced/tiny-tiny-rss.md index 0cbd6b9..471e0ef 100644 --- a/manuscript/advanced/tiny-tiny-rss.md +++ b/manuscript/advanced/tiny-tiny-rss.md @@ -31,7 +31,7 @@ I setup a directory for the ttrss data, at /data/ttrss. I created docker-compose.yml, as follows: -```` +``` rproxy: image: nginx:1.13-alpine ports: @@ -78,9 +78,9 @@ gmailsmtp: - user=davidy@funkypenguin.co.nz - pass=eqknehqflfbufzbh - DOMAIN_NAME=gmailsmtp.funkypenguin.co.nz -```` +``` -Run ````docker-compose up```` in the same directory, and watch the output. PostgreSQL container will create the "ttrss" database, and ttrss will start using it. +Run ```docker-compose up``` in the same directory, and watch the output. PostgreSQL container will create the "ttrss" database, and ttrss will start using it. # Login to UI @@ -91,23 +91,23 @@ Log into https://\. Default user is "admin" and password is " One of the native plugins enables the detection of "similar" articles. This requires the pg_trgm extension enabled in your database. -From the working directory, use ````docker exec```` to get a shell within your postgres container, and run "postgres" as the postgres user: -```` +From the working directory, use ```docker exec``` to get a shell within your postgres container, and run "postgres" as the postgres user: +``` [root@kvm nginx]# docker exec -it ttrss_postgres_1 /bin/sh # su - postgres No directory, logging in with HOME=/ $ psql psql (9.6.3) Type "help" for help. -```` +``` Add the trgm extension to your ttrss database: -```` +``` postgres=# \c ttrss You are now connected to database "ttrss" as user "postgres". ttrss=# CREATE EXTENSION pg_trgm; CREATE EXTENSION ttrss=# \q -```` +``` [ttrss]:https://tt-rss.org/ diff --git a/manuscript/ha-docker-swarm/design.md b/manuscript/ha-docker-swarm/design.md index db3c61e..9cceda7 100644 --- a/manuscript/ha-docker-swarm/design.md +++ b/manuscript/ha-docker-swarm/design.md @@ -90,8 +90,8 @@ In summary, although I suffered an **unplanned power outage to all of my infrast ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/docker-swarm-mode.md b/manuscript/ha-docker-swarm/docker-swarm-mode.md index ac2e953..ddcf504 100644 --- a/manuscript/ha-docker-swarm/docker-swarm-mode.md +++ b/manuscript/ha-docker-swarm/docker-swarm-mode.md @@ -62,13 +62,13 @@ To add a manager to this swarm, run the following command: Run the command provided on your second node to join it to the swarm as a manager. After adding the second node, the output of ```docker node ls``` (on either host) should reflect two 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]# -```` +``` Repeat the process to add your third node. @@ -178,8 +178,8 @@ echo 'source ~/gcb-aliases.sh' >> ~/.bash_profile ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/keepalived.md b/manuscript/ha-docker-swarm/keepalived.md index 0a60cc2..7f922e1 100644 --- a/manuscript/ha-docker-swarm/keepalived.md +++ b/manuscript/ha-docker-swarm/keepalived.md @@ -69,8 +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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/registry.md b/manuscript/ha-docker-swarm/registry.md index 4e42ce0..23a0ff4 100644 --- a/manuscript/ha-docker-swarm/registry.md +++ b/manuscript/ha-docker-swarm/registry.md @@ -103,17 +103,17 @@ To: ``` Then restart docker by running: -```` +``` systemctl restart docker-latest -```` +``` !!! tip "" Note the extra comma required after "false" above ## Chef's notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/shared-storage-ceph.md b/manuscript/ha-docker-swarm/shared-storage-ceph.md index 6e1fa0f..ea6748c 100644 --- a/manuscript/ha-docker-swarm/shared-storage-ceph.md +++ b/manuscript/ha-docker-swarm/shared-storage-ceph.md @@ -196,8 +196,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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/shared-storage-gluster.md b/manuscript/ha-docker-swarm/shared-storage-gluster.md index c4b523c..77c6fd8 100644 --- a/manuscript/ha-docker-swarm/shared-storage-gluster.md +++ b/manuscript/ha-docker-swarm/shared-storage-gluster.md @@ -55,7 +55,7 @@ mount -a && mount Atomic doesn't include the Gluster server components. This means we'll have to run glusterd from within a container, with privileged access to the host. Although convoluted, I've come to prefer this design since it once again makes the OS "disposable", moving all the config into containers and code. Run the following on each host: -```` +``` docker run \ -h glusterfs-server \ -v /etc/glusterfs:/etc/glusterfs:z \ @@ -67,7 +67,7 @@ docker run \ --restart=always \ --name="glusterfs-server" \ gluster/gluster-centos -```` +``` ### Create trusted pool On a single node (doesn't matter which), run ```docker exec -it glusterfs-server bash``` to launch a shell inside the container. @@ -163,8 +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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/traefik.md b/manuscript/ha-docker-swarm/traefik.md index ecf734e..d8b6668 100644 --- a/manuscript/ha-docker-swarm/traefik.md +++ b/manuscript/ha-docker-swarm/traefik.md @@ -152,8 +152,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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/ha-docker-swarm/vms.md b/manuscript/ha-docker-swarm/vms.md index 3e88aa7..fe5178f 100644 --- a/manuscript/ha-docker-swarm/vms.md +++ b/manuscript/ha-docker-swarm/vms.md @@ -86,8 +86,8 @@ After completing the above, you should have: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate.md b/manuscript/recipies/autopirate.md index f0574a2..b495e24 100644 --- a/manuscript/recipies/autopirate.md +++ b/manuscript/recipies/autopirate.md @@ -84,15 +84,15 @@ Create at least /var/data/autopirate/authenticated-emails.txt, containing at lea **Start** with a swarm config file in docker-compose syntax, like this: -```` +``` version: '3' services: -```` +``` And **end** with a stanza like this: -```` +``` networks: traefik_public: external: true @@ -101,7 +101,7 @@ networks: ipam: config: - subnet: 172.16.11.0/24 -```` +``` !!! note Setup unique static subnets for every stack you deploy. This avoids IP/gateway conflicts which can otherwise occur when you're creating/removing stacks a lot. See [my list](/reference/networks/) here. @@ -123,8 +123,8 @@ Now work your way through the list of tools below, adding whichever tools your w * [Jackett](/recipies/autopirate/jackett/) * [End](/recipies/autopirate/end/) (launch the stack) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/end.md b/manuscript/recipies/autopirate/end.md index 1598a58..f6bdf11 100644 --- a/manuscript/recipies/autopirate/end.md +++ b/manuscript/recipies/autopirate/end.md @@ -13,8 +13,8 @@ Log into each of your new tools at its respective HTTPS URL. You'll be prompted 1. This is a complex stack. Sing out in the comments if you found a flaw or need a hand :) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/headphones.md b/manuscript/recipies/autopirate/headphones.md index 21e9e24..8e01d17 100644 --- a/manuscript/recipies/autopirate/headphones.md +++ b/manuscript/recipies/autopirate/headphones.md @@ -13,7 +13,7 @@ hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and To include Headphones in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` headphones: image: linuxserver/headphones:latest env_file : /var/data/config/autopirate/headphones.env @@ -45,7 +45,7 @@ headphones_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -72,8 +72,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/jackett.md b/manuscript/recipies/autopirate/jackett.md index 54d7d1c..b265d6a 100644 --- a/manuscript/recipies/autopirate/jackett.md +++ b/manuscript/recipies/autopirate/jackett.md @@ -13,7 +13,7 @@ This allows for getting recent uploads (like RSS) and performing searches. Jacke To include Jackett in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` jackett: image: linuxserver/jackett:latest env_file : /var/data/config/autopirate/jackett.env @@ -45,7 +45,7 @@ jackett_proxy: -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -72,8 +72,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/lazylibrarian.md b/manuscript/recipies/autopirate/lazylibrarian.md index cc3814b..5d32060 100644 --- a/manuscript/recipies/autopirate/lazylibrarian.md +++ b/manuscript/recipies/autopirate/lazylibrarian.md @@ -17,7 +17,7 @@ To include LazyLibrarian in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` lazylibrarian: image: linuxserver/lazylibrarian:latest env_file : /var/data/config/autopirate/lazylibrarian.env @@ -57,7 +57,7 @@ calibre-server: networks: - internal -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -85,8 +85,8 @@ Continue through the list of tools below, adding whichever tools your want to us 1. The calibre-server container co-exists within the Lazy Librarian (LL) containers so that LL can automatically add a book to Calibre using the calibre-server interface. The calibre library can then be properly viewed using the [calibre-web](/recipies/calibre-web) recipe. 2. 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/mylar.md b/manuscript/recipies/autopirate/mylar.md index 7b9fe87..732e0b2 100644 --- a/manuscript/recipies/autopirate/mylar.md +++ b/manuscript/recipies/autopirate/mylar.md @@ -11,7 +11,7 @@ To include Mylar in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` mylar: image: linuxserver/mylar:latest env_file : /var/data/config/autopirate/mylar.env @@ -43,7 +43,7 @@ mylar_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -70,8 +70,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/nzbget.md b/manuscript/recipies/autopirate/nzbget.md index 504ceef..997d63f 100644 --- a/manuscript/recipies/autopirate/nzbget.md +++ b/manuscript/recipies/autopirate/nzbget.md @@ -17,7 +17,7 @@ To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 -```` +``` nzbget: image: linuxserver/nzbget env_file : /var/data/config/autopirate/nzbget.env @@ -49,7 +49,7 @@ nzbget_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! note NZBGet uses a 401 header to prompt for authentication. When you use OAuth2_proxy, this seems to break. Since we trust OAuth to authenticate us, we can just disable NZGet's own authentication, by changing ControlPassword to null in nzbget.conf (i.e. ```ControlPassword=```) @@ -77,8 +77,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/nzbhydra.md b/manuscript/recipies/autopirate/nzbhydra.md index af77cc2..bd58cdf 100644 --- a/manuscript/recipies/autopirate/nzbhydra.md +++ b/manuscript/recipies/autopirate/nzbhydra.md @@ -18,7 +18,7 @@ To include NZBHydra in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` nzbhydra: image: linuxserver/hydra:latest env_file : /var/data/config/autopirate/nzbhydra.env @@ -49,7 +49,7 @@ nzbhydra_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -76,8 +76,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/ombi.md b/manuscript/recipies/autopirate/ombi.md index 80b1f87..0fd14b9 100644 --- a/manuscript/recipies/autopirate/ombi.md +++ b/manuscript/recipies/autopirate/ombi.md @@ -19,7 +19,7 @@ Automatically updates the status of requests when they are available on Plex/Emb To include Ombi in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` ombi: image: linuxserver/ombi:latest env_file : /var/data/config/autopirate/ombi.env @@ -50,7 +50,7 @@ ombi_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -77,8 +77,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/plexpy.md b/manuscript/recipies/autopirate/plexpy.md index 57e83a7..40e611e 100644 --- a/manuscript/recipies/autopirate/plexpy.md +++ b/manuscript/recipies/autopirate/plexpy.md @@ -23,7 +23,7 @@ To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack, include the !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 -```` +``` plexpy: image: linuxserver/plexpy:latest env_file : /var/data/config/autopirate/plexpy.env @@ -54,7 +54,7 @@ plexpy_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 diff --git a/manuscript/recipies/autopirate/radarr.md b/manuscript/recipies/autopirate/radarr.md index e1227f4..fc0f4c4 100644 --- a/manuscript/recipies/autopirate/radarr.md +++ b/manuscript/recipies/autopirate/radarr.md @@ -26,7 +26,7 @@ To include Radarr in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` radarr: image: linuxserver/radarr:latest env_file : /var/data/config/autopirate/radarr.env @@ -58,7 +58,7 @@ radarr_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -85,8 +85,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/rtorrent.md b/manuscript/recipies/autopirate/rtorrent.md index afd2b5d..f4e9012 100644 --- a/manuscript/recipies/autopirate/rtorrent.md +++ b/manuscript/recipies/autopirate/rtorrent.md @@ -77,8 +77,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/sabnzbd.md b/manuscript/recipies/autopirate/sabnzbd.md index 5f34abc..2dd7bfc 100644 --- a/manuscript/recipies/autopirate/sabnzbd.md +++ b/manuscript/recipies/autopirate/sabnzbd.md @@ -14,7 +14,7 @@ SABnzbd is the workhorse of the stack. It takes .nzb files as input (_manually o To include SABnzbd in your [AutoPirate](/recipies/autopirate/) stack (_The only reason you **wouldn't** use SABnzbd, would be if you were using [NZBGet](/recipies/autopirate/nzbget.md) instead_), include the following in your autopirate.yml stack definition file: -```` +``` sabnzbd: image: linuxserver/sabnzbd:latest env_file : /var/data/config/autopirate/sabnzbd.env @@ -46,7 +46,7 @@ sabnzbd_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -74,8 +74,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/autopirate/sonarr.md b/manuscript/recipies/autopirate/sonarr.md index 2d3cebf..fe527cc 100644 --- a/manuscript/recipies/autopirate/sonarr.md +++ b/manuscript/recipies/autopirate/sonarr.md @@ -13,7 +13,7 @@ To include Sonarr in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: -```` +``` sonarr: image: linuxserver/sonarr:latest env_file : /var/data/config/autopirate/sonarr.env @@ -45,7 +45,7 @@ sonarr_proxy: -email-domain=example.com -provider=github -authenticated-emails-file=/authenticated-emails.txt -```` +``` !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 @@ -72,8 +72,8 @@ Continue through the list of tools below, adding whichever tools your want to us 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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/calibre-web.md b/manuscript/recipies/calibre-web.md index 37ce131..59e53cb 100644 --- a/manuscript/recipies/calibre-web.md +++ b/manuscript/recipies/calibre-web.md @@ -127,8 +127,8 @@ Log into your new instance at https://**YOUR-FQDN**. You'll be directed to the i 1. Yes, Calibre does provide a server component. But it's not as fully-featured as Calibre-Web (_i.e., you can't use it to send ebooks directly to your Kindle_) 2. A future enhancement might be integrating this recipe with the filestore for [NextCloud](/recipies/nextcloud/), so that the desktop database (Calibre) can be kept synced with Calibre-Web. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer.md b/manuscript/recipies/cryptominer.md index 59d0aa1..c192f65 100644 --- a/manuscript/recipies/cryptominer.md +++ b/manuscript/recipies/cryptominer.md @@ -35,8 +35,8 @@ For readability, I've split this recipe into multiple sub-recipies, which can be 1. Ultimately I hope to move all the configuration / mining executables into docker containers, but for now, they're running on a CentOS7 host for direct access to GPUs. (Apparently it _may_ be possible to pass-thru the GPUs to docker containers, but I wanted stability first, before abstracting my hardware away from my miners) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/amd-gpu.md b/manuscript/recipies/cryptominer/amd-gpu.md index 102e721..57e9a6c 100644 --- a/manuscript/recipies/cryptominer/amd-gpu.md +++ b/manuscript/recipies/cryptominer/amd-gpu.md @@ -162,8 +162,8 @@ Now, continue to the next stage of your grand mining adventure: 1. My two RX580 cards (_bought alongside each other_) perform slightly differently. GPU0 works with a 2050Mhz memory clock, but GPU1 only works at 2000Mhz. Anything over 2000Mhz causes system instability. YMMV. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/exchange.md b/manuscript/recipies/cryptominer/exchange.md index dff5f54..8269e02 100644 --- a/manuscript/recipies/cryptominer/exchange.md +++ b/manuscript/recipies/cryptominer/exchange.md @@ -48,8 +48,8 @@ Now, continue to the next stage of your grand mining adventure: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/minerhotel.md b/manuscript/recipies/cryptominer/minerhotel.md index 3589d04..34e79c8 100644 --- a/manuscript/recipies/cryptominer/minerhotel.md +++ b/manuscript/recipies/cryptominer/minerhotel.md @@ -98,8 +98,8 @@ Now, continue to the next stage of your grand mining adventure: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/mining-pool.md b/manuscript/recipies/cryptominer/mining-pool.md index 2792948..f7c2e27 100644 --- a/manuscript/recipies/cryptominer/mining-pool.md +++ b/manuscript/recipies/cryptominer/mining-pool.md @@ -51,8 +51,8 @@ Now, continue to the next stage of your grand mining adventure: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/mining-rig.md b/manuscript/recipies/cryptominer/mining-rig.md index 9eb94ae..000c8d1 100644 --- a/manuscript/recipies/cryptominer/mining-rig.md +++ b/manuscript/recipies/cryptominer/mining-rig.md @@ -48,8 +48,8 @@ Yes. It's the ultimate _#firstworldproblem_, but if you have a means to remotely (_I hooked up a remote-controlled outlet to my rig, so that I can power-cycle it without having to crawl under the desk!_) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/monitor.md b/manuscript/recipies/cryptominer/monitor.md index b3c3c38..8c9495c 100644 --- a/manuscript/recipies/cryptominer/monitor.md +++ b/manuscript/recipies/cryptominer/monitor.md @@ -86,8 +86,8 @@ Now, continue to the next stage of your grand mining adventure: 1. Ultimately I hope to move all the configuration / mining executables into docker containers, but for now, they're running on a CentOS7 host for direct access to GPUs. (_Apparently it **may** be possible to pass-thru the GPUs to docker containers, but I wanted stability first, before abstracting my hardware away from my miners_) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/nvidia-gpu.md b/manuscript/recipies/cryptominer/nvidia-gpu.md index f4dde90..38e5731 100644 --- a/manuscript/recipies/cryptominer/nvidia-gpu.md +++ b/manuscript/recipies/cryptominer/nvidia-gpu.md @@ -157,8 +157,8 @@ Now, continue to the next stage of your grand mining adventure: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/profit.md b/manuscript/recipies/cryptominer/profit.md index 0fa70d1..e14187c 100644 --- a/manuscript/recipies/cryptominer/profit.md +++ b/manuscript/recipies/cryptominer/profit.md @@ -21,8 +21,8 @@ Get in touch and share your experience - there's a special [discord](https://dis ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/cryptominer/wallet.md b/manuscript/recipies/cryptominer/wallet.md index b77db33..492d4a2 100644 --- a/manuscript/recipies/cryptominer/wallet.md +++ b/manuscript/recipies/cryptominer/wallet.md @@ -34,8 +34,8 @@ Now, continue to the next stage of your grand mining adventure: ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/duplicity.md b/manuscript/recipies/duplicity.md index 3a30147..2d5214b 100644 --- a/manuscript/recipies/duplicity.md +++ b/manuscript/recipies/duplicity.md @@ -165,8 +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 -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/emby.md b/manuscript/recipies/emby.md index 55df6dc..4d95285 100644 --- a/manuscript/recipies/emby.md +++ b/manuscript/recipies/emby.md @@ -89,8 +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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/ghost.md b/manuscript/recipies/ghost.md index 728ce53..5e2f479 100644 --- a/manuscript/recipies/ghost.md +++ b/manuscript/recipies/ghost.md @@ -70,8 +70,8 @@ Create your first administrative account at https://**YOUR-FQDN**/admin/ [root@ds1 ghost]# ``` -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/gitlab-runner.md b/manuscript/recipies/gitlab-runner.md index 4913c12..7db9a93 100644 --- a/manuscript/recipies/gitlab-runner.md +++ b/manuscript/recipies/gitlab-runner.md @@ -95,8 +95,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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/gitlab.md b/manuscript/recipies/gitlab.md index 71fd9e7..8195dd2 100644 --- a/manuscript/recipies/gitlab.md +++ b/manuscript/recipies/gitlab.md @@ -54,7 +54,7 @@ Create a docker swarm config file in docker-compose syntax (v3), something like !!! tip I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 -```` +``` version: '3' services: @@ -107,7 +107,7 @@ networks: ipam: config: - subnet: 172.16.2.0/24 -```` +``` !!! note Setup unique static subnets for every stack you deploy. This avoids IP/gateway conflicts which can otherwise occur when you're creating/removing stacks a lot. See [my list](/reference/networks/) here. @@ -134,8 +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?) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/gollum.md b/manuscript/recipies/gollum.md index 7725c9e..6781b53 100644 --- a/manuscript/recipies/gollum.md +++ b/manuscript/recipies/gollum.md @@ -129,8 +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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/homeassistant.md b/manuscript/recipies/homeassistant.md index 9d8582a..e1234b3 100644 --- a/manuscript/recipies/homeassistant.md +++ b/manuscript/recipies/homeassistant.md @@ -132,8 +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! -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/huginn.md b/manuscript/recipies/huginn.md index a76183e..464c519 100644 --- a/manuscript/recipies/huginn.md +++ b/manuscript/recipies/huginn.md @@ -146,8 +146,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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/instapy.md b/manuscript/recipies/instapy.md index d3c4dbb..a045bd9 100644 --- a/manuscript/recipies/instapy.md +++ b/manuscript/recipies/instapy.md @@ -71,10 +71,10 @@ services: Create a variation of https://github.com/timgrossmann/InstaPy/blob/master/docker_quickstart.py at /var/data/instapy/instapy.py (the file we bind-mounted in the swarm config above) Change at least the following: -```` +``` insta_username = '' insta_password = '' -```` +``` Here's an example of my config, set to like a single penguin-pic per run: @@ -129,8 +129,8 @@ You can **also** watch the bot at work by VNCing to your docker swarm, password 1. Amazingly, my bot has ended up tagging more _non-penguins_ than actual penguins. I don't understand how Instagrammers come up with their hashtags! -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/kanboard.md b/manuscript/recipies/kanboard.md index aeded76..fa40d00 100644 --- a/manuscript/recipies/kanboard.md +++ b/manuscript/recipies/kanboard.md @@ -106,8 +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) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/mail.md b/manuscript/recipies/mail.md index 4ed1d9a..95308c2 100644 --- a/manuscript/recipies/mail.md +++ b/manuscript/recipies/mail.md @@ -171,8 +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) -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/miniflux.md b/manuscript/recipies/miniflux.md index dddbd43..81896e6 100644 --- a/manuscript/recipies/miniflux.md +++ b/manuscript/recipies/miniflux.md @@ -138,8 +138,8 @@ Log into your new instance at https://**YOUR-FQDN**, using the credentials you s 1. Find the bookmarklet under the **Settings -> Integration** page. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/nextcloud.md b/manuscript/recipies/nextcloud.md index 603875c..e3c5c5c 100644 --- a/manuscript/recipies/nextcloud.md +++ b/manuscript/recipies/nextcloud.md @@ -53,13 +53,13 @@ MYSQL_PASSWORD=set to something secure> Now create a **separate** nextcloud-db-backup.env file, to capture the environment variables necessary to perform the backup. (_If the same variables are shared with the mariadb container, they [cause issues](https://discourse.geek-kitchen.funkypenguin.co.nz/t/nextcloud-funky-penguins-geek-cookbook/254/3?u=funkypenguin) with database access_) -```` +``` # For database backup (keep 7 days daily backups) MYSQL_PWD= MYSQL_USER=root BACKUP_NUM_KEEP=7 BACKUP_FREQUENCY=1d -```` +``` ### Setup Docker Swarm @@ -190,8 +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). -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/owntracks.md b/manuscript/recipies/owntracks.md index 4ccd4df..41abcd8 100644 --- a/manuscript/recipies/owntracks.md +++ b/manuscript/recipies/owntracks.md @@ -114,8 +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. -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/recipies/piwik.md b/manuscript/recipies/piwik.md index 0e3df08..992ffe5 100644 --- a/manuscript/recipies/piwik.md +++ b/manuscript/recipies/piwik.md @@ -92,8 +92,8 @@ Launch the Piwik stack by running ```docker stack deploy piwik -c docker-openvpn.te module docker-openvpn 1.0; @@ -27,7 +27,7 @@ EOF checkmodule -M -m -o docker-openvpn.mod docker-openvpn.te semodule_package -o docker-openvpn.pp -m docker-openvpn.mod semodule -i docker-openvpn.pp -```` +``` ## Insert the tun module @@ -35,33 +35,33 @@ Even with the SELinux policy above, I still need to insert the "tun" module into Run the following to auto-insert the tun module on boot: -```` +``` cat << EOF >> /etc/rc.d/rc.local # Insert the "tun" module so that the vpn-client container can access /dev/net/tun /sbin/modprobe tun EOF chmod 755 /etc/rc.d/rc.local -```` +``` ## Connect the VPN Finally, for each node, I exported client credentials, and SCP'd them over to the docker node, into /root/my-vpn-configs-here/. I also had to use the NET_ADMIN cap-add parameter, as illustrated below: -```` +``` docker run -d --name vpn-client \ --restart=always --cap-add=NET_ADMIN --net=host \ --device /dev/net/tun \ -v /root/my-vpn-configs-here:/vpn:z \ ekristen/openvpn-client --config /vpn/my-host-config.ovpn -```` +``` Now every time my node boots, it establishes a VPN tunnel back to my pfsense host and (_by using custom configuration directives in OpenVPN_) is assigned a static VPN IP. ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments? diff --git a/manuscript/reference/troubleshooting.md b/manuscript/reference/troubleshooting.md index 494ac63..9dbff58 100644 --- a/manuscript/reference/troubleshooting.md +++ b/manuscript/reference/troubleshooting.md @@ -19,8 +19,8 @@ Need to see what a particular container is doing? Run ```docker service logs -f ## Chef's Notes -### Tip your waiter (donate) 👏 +### 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! 👏 +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? 💬 +### Your comments?