From 8c3764629dfebf5e1f934e4b67ae352fff4e27f0 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 09:17:22 +0000 Subject: [PATCH 01/17] Travis build: 13 --- manuscript/test.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 manuscript/test.md diff --git a/manuscript/test.md b/manuscript/test.md new file mode 100644 index 0000000..101d53d --- /dev/null +++ b/manuscript/test.md @@ -0,0 +1 @@ +Nananana... Batman! From a3f62bc904c575f1e9480522843ba68978deeace Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 09:32:37 +0000 Subject: [PATCH 02/17] Travis build: 24 --- manuscript/test.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 manuscript/test.md diff --git a/manuscript/test.md b/manuscript/test.md new file mode 100644 index 0000000..101d53d --- /dev/null +++ b/manuscript/test.md @@ -0,0 +1 @@ +Nananana... Batman! From f2baf75a42c1170d4b2a5eed71b7e9fe5fff3c29 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 09:32:48 +0000 Subject: [PATCH 03/17] Travis build: 23 --- manuscript/test.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 manuscript/test.md diff --git a/manuscript/test.md b/manuscript/test.md new file mode 100644 index 0000000..101d53d --- /dev/null +++ b/manuscript/test.md @@ -0,0 +1 @@ +Nananana... Batman! From 5d5b2f33dd5d71c88fa7ade7e30bf08aac311bf2 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 09:34:47 +0000 Subject: [PATCH 04/17] Travis build: 25 --- manuscript/test.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 manuscript/test.md diff --git a/manuscript/test.md b/manuscript/test.md new file mode 100644 index 0000000..101d53d --- /dev/null +++ b/manuscript/test.md @@ -0,0 +1 @@ +Nananana... Batman! From ac7d021b6730f49c0bf316bd3b4b5336aacd57c9 Mon Sep 17 00:00:00 2001 From: David Young Date: Wed, 6 Jun 2018 21:42:35 +1200 Subject: [PATCH 05/17] Add Travis test 10 --- scripts/markdown-to-markua.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 3abed57..00b8414 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -1,3 +1,6 @@ #!/bin/bash -echo "Nananana... Batman!" > manuscript/test.md + +# Markua doesn't know what to do with 4 backticks (````), so convert to 3: +find manuscript -type f -name "*.md" -print0 | xargs -0 sed "s/````/```/g" + # Do nothing, yet. This is where the sed magic will go From 26e9fa43325ec6794b83be10e60829f462928a56 Mon Sep 17 00:00:00 2001 From: David Young Date: Wed, 6 Jun 2018 21:48:01 +1200 Subject: [PATCH 06/17] Add Travis test 11 --- scripts/markdown-to-markua.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 00b8414..81355b6 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -1,6 +1,6 @@ #!/bin/bash # Markua doesn't know what to do with 4 backticks (````), so convert to 3: -find manuscript -type f -name "*.md" -print0 | xargs -0 sed "s/````/```/g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/\`\`\`\`/\`\`\`/g" # Do nothing, yet. This is where the sed magic will go From 21e8a9b8d54693cf53531fd4dcf856b67656f6b2 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 09:48:34 +0000 Subject: [PATCH 07/17] Travis build: 27 --- manuscript/advanced/tiny-tiny-rss.md | 16 ++++++++-------- manuscript/ha-docker-swarm/docker-swarm-mode.md | 4 ++-- manuscript/ha-docker-swarm/registry.md | 4 ++-- .../ha-docker-swarm/shared-storage-gluster.md | 4 ++-- manuscript/recipies/autopirate.md | 8 ++++---- manuscript/recipies/autopirate/headphones.md | 4 ++-- manuscript/recipies/autopirate/jackett.md | 4 ++-- manuscript/recipies/autopirate/lazylibrarian.md | 4 ++-- manuscript/recipies/autopirate/mylar.md | 4 ++-- manuscript/recipies/autopirate/nzbget.md | 4 ++-- manuscript/recipies/autopirate/nzbhydra.md | 4 ++-- manuscript/recipies/autopirate/ombi.md | 4 ++-- manuscript/recipies/autopirate/plexpy.md | 4 ++-- manuscript/recipies/autopirate/radarr.md | 4 ++-- manuscript/recipies/autopirate/sabnzbd.md | 4 ++-- manuscript/recipies/autopirate/sonarr.md | 4 ++-- manuscript/recipies/gitlab.md | 4 ++-- manuscript/recipies/instapy.md | 4 ++-- manuscript/recipies/nextcloud.md | 4 ++-- manuscript/reference/openvpn.md | 12 ++++++------ 20 files changed, 52 insertions(+), 52 deletions(-) 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/docker-swarm-mode.md b/manuscript/ha-docker-swarm/docker-swarm-mode.md index ac2e953..2cae07d 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. diff --git a/manuscript/ha-docker-swarm/registry.md b/manuscript/ha-docker-swarm/registry.md index 4e42ce0..e014b4f 100644 --- a/manuscript/ha-docker-swarm/registry.md +++ b/manuscript/ha-docker-swarm/registry.md @@ -103,9 +103,9 @@ To: ``` Then restart docker by running: -```` +``` systemctl restart docker-latest -```` +``` !!! tip "" Note the extra comma required after "false" above diff --git a/manuscript/ha-docker-swarm/shared-storage-gluster.md b/manuscript/ha-docker-swarm/shared-storage-gluster.md index c4b523c..acea145 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. diff --git a/manuscript/recipies/autopirate.md b/manuscript/recipies/autopirate.md index f0574a2..0c86b3f 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. diff --git a/manuscript/recipies/autopirate/headphones.md b/manuscript/recipies/autopirate/headphones.md index 21e9e24..5d01ea9 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``` 👍 diff --git a/manuscript/recipies/autopirate/jackett.md b/manuscript/recipies/autopirate/jackett.md index 54d7d1c..4d148cd 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``` 👍 diff --git a/manuscript/recipies/autopirate/lazylibrarian.md b/manuscript/recipies/autopirate/lazylibrarian.md index cc3814b..9bd6b2f 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``` 👍 diff --git a/manuscript/recipies/autopirate/mylar.md b/manuscript/recipies/autopirate/mylar.md index 7b9fe87..f4ba7fd 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``` 👍 diff --git a/manuscript/recipies/autopirate/nzbget.md b/manuscript/recipies/autopirate/nzbget.md index 504ceef..5d3b9b8 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=```) diff --git a/manuscript/recipies/autopirate/nzbhydra.md b/manuscript/recipies/autopirate/nzbhydra.md index af77cc2..ccd349a 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``` 👍 diff --git a/manuscript/recipies/autopirate/ombi.md b/manuscript/recipies/autopirate/ombi.md index 80b1f87..64651fa 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``` 👍 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..5771a7b 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``` 👍 diff --git a/manuscript/recipies/autopirate/sabnzbd.md b/manuscript/recipies/autopirate/sabnzbd.md index 5f34abc..70e6b7e 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``` 👍 diff --git a/manuscript/recipies/autopirate/sonarr.md b/manuscript/recipies/autopirate/sonarr.md index 2d3cebf..820da3d 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``` 👍 diff --git a/manuscript/recipies/gitlab.md b/manuscript/recipies/gitlab.md index 71fd9e7..e165d2f 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. diff --git a/manuscript/recipies/instapy.md b/manuscript/recipies/instapy.md index d3c4dbb..e9bf071 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: diff --git a/manuscript/recipies/nextcloud.md b/manuscript/recipies/nextcloud.md index 603875c..cf71061 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 diff --git a/manuscript/reference/openvpn.md b/manuscript/reference/openvpn.md index 69e8be2..f772b2f 100644 --- a/manuscript/reference/openvpn.md +++ b/manuscript/reference/openvpn.md @@ -10,7 +10,7 @@ In my case, I needed each docker node to connect via [OpenVPN](http://www.openvp Yes, SELinux. Install a custom policy permitting a docker container to create tun interfaces, like this: -```` +``` cat << EOF > 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,25 +35,25 @@ 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. From bd33ac6c595b66504fae70f6433267d5acd85ce5 Mon Sep 17 00:00:00 2001 From: David Young Date: Wed, 6 Jun 2018 22:26:35 +1200 Subject: [PATCH 08/17] Remove Emojis --- scripts/markdown-to-markua.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 81355b6..07f1889 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -3,4 +3,8 @@ # Markua doesn't know what to do with 4 backticks (````), so convert to 3: find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/\`\`\`\`/\`\`\`/g" +# Markua doesn't like emojis, so remove them: +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/👏//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/💬//g" + # Do nothing, yet. This is where the sed magic will go From fe34ff7f80894da409c8af2555d52d51be2f6ef7 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 6 Jun 2018 10:48:32 +0000 Subject: [PATCH 09/17] Travis build: 28 --- manuscript/advanced/tiny-tiny-rss.md | 16 ++++++++-------- manuscript/ha-docker-swarm/design.md | 6 +++--- .../ha-docker-swarm/docker-swarm-mode.md | 10 +++++----- manuscript/ha-docker-swarm/keepalived.md | 6 +++--- manuscript/ha-docker-swarm/registry.md | 10 +++++----- .../ha-docker-swarm/shared-storage-ceph.md | 6 +++--- .../ha-docker-swarm/shared-storage-gluster.md | 10 +++++----- manuscript/ha-docker-swarm/traefik.md | 6 +++--- manuscript/ha-docker-swarm/vms.md | 6 +++--- manuscript/recipies/autopirate.md | 14 +++++++------- manuscript/recipies/autopirate/end.md | 6 +++--- manuscript/recipies/autopirate/headphones.md | 10 +++++----- manuscript/recipies/autopirate/jackett.md | 10 +++++----- .../recipies/autopirate/lazylibrarian.md | 10 +++++----- manuscript/recipies/autopirate/mylar.md | 10 +++++----- manuscript/recipies/autopirate/nzbget.md | 10 +++++----- manuscript/recipies/autopirate/nzbhydra.md | 10 +++++----- manuscript/recipies/autopirate/ombi.md | 10 +++++----- manuscript/recipies/autopirate/plexpy.md | 4 ++-- manuscript/recipies/autopirate/radarr.md | 10 +++++----- manuscript/recipies/autopirate/rtorrent.md | 6 +++--- manuscript/recipies/autopirate/sabnzbd.md | 10 +++++----- manuscript/recipies/autopirate/sonarr.md | 10 +++++----- manuscript/recipies/calibre-web.md | 6 +++--- manuscript/recipies/cryptominer.md | 6 +++--- manuscript/recipies/cryptominer/amd-gpu.md | 6 +++--- manuscript/recipies/cryptominer/exchange.md | 6 +++--- manuscript/recipies/cryptominer/minerhotel.md | 6 +++--- manuscript/recipies/cryptominer/mining-pool.md | 6 +++--- manuscript/recipies/cryptominer/mining-rig.md | 6 +++--- manuscript/recipies/cryptominer/monitor.md | 6 +++--- manuscript/recipies/cryptominer/nvidia-gpu.md | 6 +++--- manuscript/recipies/cryptominer/profit.md | 6 +++--- manuscript/recipies/cryptominer/wallet.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 | 10 +++++----- manuscript/recipies/gollum.md | 6 +++--- manuscript/recipies/homeassistant.md | 6 +++--- manuscript/recipies/huginn.md | 6 +++--- manuscript/recipies/instapy.md | 10 +++++----- manuscript/recipies/kanboard.md | 6 +++--- manuscript/recipies/mail.md | 6 +++--- manuscript/recipies/miniflux.md | 6 +++--- manuscript/recipies/nextcloud.md | 10 +++++----- 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/turtle-pool.md | 6 +++--- manuscript/recipies/wallabag.md | 6 +++--- manuscript/recipies/wekan.md | 6 +++--- manuscript/reference/data_layout.md | 6 +++--- manuscript/reference/git-docker.md | 6 +++--- manuscript/reference/networks.md | 6 +++--- manuscript/reference/oauth_proxy.md | 6 +++--- manuscript/reference/openvpn.md | 18 +++++++++--------- manuscript/reference/troubleshooting.md | 6 +++--- 62 files changed, 232 insertions(+), 232 deletions(-) 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? From 1fb0a952bd97c56d1880acb04e149b8450ba00d1 Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 7 Jun 2018 12:43:14 +1200 Subject: [PATCH 10/17] Improve preview, strip more emojis --- .travis.yml | 9 +++++---- scripts/markdown-to-markua.sh | 6 ++++++ scripts/push-markua-to-branch.sh | 5 +++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8316e46..e446668 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,13 @@ lang: python -# blocklist branches: except: - leanpub-preview - leanpub-publish script: - - scripts/markdown-to-markua.sh +- scripts/markdown-to-markua.sh after_success: - - scripts/push-markua-to-branch.sh +- scripts/push-markua-to-branch.sh env: - secure: "X0ruiXtzArHPaOAd5cQS0axHGwMM5HwqSHASr/KnzV1yZUPzJIrzJQYSCJmFPzk6zuboA2Tsa96zu+DftgA9N9WgzTYmjp8M10y9vcK4cpkfi5frs7GVorVLPQ5kcWwYPf/j+YzpP5OwrRSxDDG853GJ4OhoALcjmmBJk8NwIKZOkA6x2RvvcDRx6dc216QdhmouD5Hz0tImkE2rYdQNm44IN7OF6wekbEhOzN2Chz6yGit3duRvxBrNOPqmGqkFwtg0sxyQO0iBa4qvg88qrKQOIHwUG5y4rp8QcdqfRMv/lSNGEg1Mh7iDUHbZpvcAoXREXp9FMEY/SJ1uYkcEMn+GvLDQ/BOFwKjC/duWM3oMPgzjqI+gwpIdlTZt5+Qu9v4Z6+XJ5P+JIWZYtzudDVuOzVMSIzwk9y2a/ufYXGQdvGktf6H51WCcA8CO2muxLtDwDtV1okAVm+HXkgQ/pcwjqqq3n3RojN6Xxm+TJggn3HgU21qug/K1lukycwCjQbI8s0ey3soT1+oPc8Fl95n35eXTUY3DOd0u14e0Y3XKIbG9Rvyp9U8gJC2Ij6+EXSdHlFhvr5tJJLNwXkXjV3yMnLgtlSnuGBGHUpv0+XZuSsGqOropl/KDUurb2TGkIH7PjpBpFm6PhSbLViGXrupuxTvKLdsXBXospzODuEQ=" + secure: X0ruiXtzArHPaOAd5cQS0axHGwMM5HwqSHASr/KnzV1yZUPzJIrzJQYSCJmFPzk6zuboA2Tsa96zu+DftgA9N9WgzTYmjp8M10y9vcK4cpkfi5frs7GVorVLPQ5kcWwYPf/j+YzpP5OwrRSxDDG853GJ4OhoALcjmmBJk8NwIKZOkA6x2RvvcDRx6dc216QdhmouD5Hz0tImkE2rYdQNm44IN7OF6wekbEhOzN2Chz6yGit3duRvxBrNOPqmGqkFwtg0sxyQO0iBa4qvg88qrKQOIHwUG5y4rp8QcdqfRMv/lSNGEg1Mh7iDUHbZpvcAoXREXp9FMEY/SJ1uYkcEMn+GvLDQ/BOFwKjC/duWM3oMPgzjqI+gwpIdlTZt5+Qu9v4Z6+XJ5P+JIWZYtzudDVuOzVMSIzwk9y2a/ufYXGQdvGktf6H51WCcA8CO2muxLtDwDtV1okAVm+HXkgQ/pcwjqqq3n3RojN6Xxm+TJggn3HgU21qug/K1lukycwCjQbI8s0ey3soT1+oPc8Fl95n35eXTUY3DOd0u14e0Y3XKIbG9Rvyp9U8gJC2Ij6+EXSdHlFhvr5tJJLNwXkXjV3yMnLgtlSnuGBGHUpv0+XZuSsGqOropl/KDUurb2TGkIH7PjpBpFm6PhSbLViGXrupuxTvKLdsXBXospzODuEQ= + global: + secure: VRvMlfLCPYa7/E8zE6RBNRIcKCxaIeVMkcvt33TgBLlDUhskDaWxRE9AboFfw4lSRpvuzOUWMpytSQ1VOlL6RIQgceyLgdZFp8iOcuthJs/UuKODAQbmY0uW4RfAX3KQehaz95vfstLZdvglQR1tdYAucYCfZVxTbUDNotnZjYZGjGdAZCf3ZymeZgTjUDQakiIY6iE0TXG8aBVltW38FbZu9jifKTe9rg1IiDGti12ehJDfKeBPdUloDzdSSOkqXTcBWmyYoTKvtS6EKQVTbJk4Wj/QssGwtYBAYnWup1AI2uxlT4R8Kh5jHjaIM8s+55LX6vU4VrIexeGrNsef9SJZVnMWGrq+2vpLyoN4EzxT3K3S6R4mnUG+JslmEtu78YNCfA6N6xgVLWNfKHZjdoeuJs4KPsTWpHCyArkjfBbV3cQKvGsNgG80ozXKv9stLqdM+HfNlCWYhsVrKwKVu+1zlc1Nl8DL67wGKrcUxMj3ayBDXhbUfB2ed0IhbQdKZLkMZtRrxytrAVbHtVuOYckQlhTO9WjRvBI+F9EI8i8DDN71023BKbEEi7tKDDgTdlJ2puIMqrnt+6DJ7xJAL235jKcXquL2TWyAsLsNk1Djkr6jGkJ2kwZbFNQucBp3s0MGY2SvEWFI4rWY80MvPT+2PBuICyfS0BAeI2forzA= diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 07f1889..707a0f7 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -6,5 +6,11 @@ find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/\`\`\`\`/\`\`\ # Markua doesn't like emojis, so remove them: find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/👏//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/💬//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/👍//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/💰//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🍷//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🏢//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/❤️//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/:turtle://g" # Do nothing, yet. This is where the sed magic will go diff --git a/scripts/push-markua-to-branch.sh b/scripts/push-markua-to-branch.sh index 1c70a66..7354492 100755 --- a/scripts/push-markua-to-branch.sh +++ b/scripts/push-markua-to-branch.sh @@ -19,6 +19,11 @@ upload_files() { git push --quiet --set-upstream origin-leanpub-preview leanpub-preview } +trigger_preview() { + curl -d "api_key=${LEANPUB-API-KEY}" https://leanpub.com/geek-cookbook/preview.json +} + setup_git commit_website_files upload_files +trigger_preview From 6297c6e41c09e4c3bf06e14b6ece19c0a1d16cdf Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 7 Jun 2018 12:55:23 +1200 Subject: [PATCH 11/17] Tweaked Travis --- .travis.yml | 2 -- manuscript/book.txt | 3 +++ scripts/push-markua-to-branch.sh | 10 ++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index e446668..2a67136 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,5 +9,3 @@ after_success: - scripts/push-markua-to-branch.sh env: secure: X0ruiXtzArHPaOAd5cQS0axHGwMM5HwqSHASr/KnzV1yZUPzJIrzJQYSCJmFPzk6zuboA2Tsa96zu+DftgA9N9WgzTYmjp8M10y9vcK4cpkfi5frs7GVorVLPQ5kcWwYPf/j+YzpP5OwrRSxDDG853GJ4OhoALcjmmBJk8NwIKZOkA6x2RvvcDRx6dc216QdhmouD5Hz0tImkE2rYdQNm44IN7OF6wekbEhOzN2Chz6yGit3duRvxBrNOPqmGqkFwtg0sxyQO0iBa4qvg88qrKQOIHwUG5y4rp8QcdqfRMv/lSNGEg1Mh7iDUHbZpvcAoXREXp9FMEY/SJ1uYkcEMn+GvLDQ/BOFwKjC/duWM3oMPgzjqI+gwpIdlTZt5+Qu9v4Z6+XJ5P+JIWZYtzudDVuOzVMSIzwk9y2a/ufYXGQdvGktf6H51WCcA8CO2muxLtDwDtV1okAVm+HXkgQ/pcwjqqq3n3RojN6Xxm+TJggn3HgU21qug/K1lukycwCjQbI8s0ey3soT1+oPc8Fl95n35eXTUY3DOd0u14e0Y3XKIbG9Rvyp9U8gJC2Ij6+EXSdHlFhvr5tJJLNwXkXjV3yMnLgtlSnuGBGHUpv0+XZuSsGqOropl/KDUurb2TGkIH7PjpBpFm6PhSbLViGXrupuxTvKLdsXBXospzODuEQ= - global: - secure: VRvMlfLCPYa7/E8zE6RBNRIcKCxaIeVMkcvt33TgBLlDUhskDaWxRE9AboFfw4lSRpvuzOUWMpytSQ1VOlL6RIQgceyLgdZFp8iOcuthJs/UuKODAQbmY0uW4RfAX3KQehaz95vfstLZdvglQR1tdYAucYCfZVxTbUDNotnZjYZGjGdAZCf3ZymeZgTjUDQakiIY6iE0TXG8aBVltW38FbZu9jifKTe9rg1IiDGti12ehJDfKeBPdUloDzdSSOkqXTcBWmyYoTKvtS6EKQVTbJk4Wj/QssGwtYBAYnWup1AI2uxlT4R8Kh5jHjaIM8s+55LX6vU4VrIexeGrNsef9SJZVnMWGrq+2vpLyoN4EzxT3K3S6R4mnUG+JslmEtu78YNCfA6N6xgVLWNfKHZjdoeuJs4KPsTWpHCyArkjfBbV3cQKvGsNgG80ozXKv9stLqdM+HfNlCWYhsVrKwKVu+1zlc1Nl8DL67wGKrcUxMj3ayBDXhbUfB2ed0IhbQdKZLkMZtRrxytrAVbHtVuOYckQlhTO9WjRvBI+F9EI8i8DDN71023BKbEEi7tKDDgTdlJ2puIMqrnt+6DJ7xJAL235jKcXquL2TWyAsLsNk1Djkr6jGkJ2kwZbFNQucBp3s0MGY2SvEWFI4rWY80MvPT+2PBuICyfS0BAeI2forzA= diff --git a/manuscript/book.txt b/manuscript/book.txt index e82abab..fd02ee1 100644 --- a/manuscript/book.txt +++ b/manuscript/book.txt @@ -27,6 +27,8 @@ recipies/piwik.md recipies/autopirate.md recipies/nextcloud.md recipies/portainer.md +recipies/turtle-pool.md +recipies/tiny-tiny-rss.md sections/reference.md reference/oauth_proxy.md @@ -34,3 +36,4 @@ reference/data_layout.md reference/networks.md reference/git-docker.md reference/openvpn.md +reference/troubleshooting.md diff --git a/scripts/push-markua-to-branch.sh b/scripts/push-markua-to-branch.sh index 7354492..7d75f9f 100755 --- a/scripts/push-markua-to-branch.sh +++ b/scripts/push-markua-to-branch.sh @@ -19,11 +19,13 @@ upload_files() { git push --quiet --set-upstream origin-leanpub-preview leanpub-preview } -trigger_preview() { - curl -d "api_key=${LEANPUB-API-KEY}" https://leanpub.com/geek-cookbook/preview.json -} +# Not needed at this stage, since github integration still works. It's noted as being deprecated however, +# so might need this in future +#trigger_preview() { +# curl -d "api_key=${LEANPUB-API-KEY}" https://leanpub.com/geek-cookbook/preview.json +#} setup_git commit_website_files upload_files -trigger_preview +#trigger_preview From afc149308c91d6e5da34bde750d3c1f10213ea99 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 7 Jun 2018 00:56:18 +0000 Subject: [PATCH 12/17] Travis build: 30 --- manuscript/advanced/tiny-tiny-rss.md | 16 ++++++++-------- manuscript/ha-docker-swarm/design.md | 6 +++--- .../ha-docker-swarm/docker-swarm-mode.md | 10 +++++----- manuscript/ha-docker-swarm/keepalived.md | 6 +++--- manuscript/ha-docker-swarm/registry.md | 10 +++++----- .../ha-docker-swarm/shared-storage-ceph.md | 6 +++--- .../ha-docker-swarm/shared-storage-gluster.md | 10 +++++----- manuscript/ha-docker-swarm/traefik.md | 6 +++--- manuscript/ha-docker-swarm/vms.md | 6 +++--- manuscript/index.md | 6 +++--- manuscript/recipies/autopirate.md | 14 +++++++------- manuscript/recipies/autopirate/end.md | 6 +++--- manuscript/recipies/autopirate/headphones.md | 12 ++++++------ manuscript/recipies/autopirate/jackett.md | 12 ++++++------ .../recipies/autopirate/lazylibrarian.md | 12 ++++++------ manuscript/recipies/autopirate/mylar.md | 12 ++++++------ manuscript/recipies/autopirate/nzbget.md | 12 ++++++------ manuscript/recipies/autopirate/nzbhydra.md | 12 ++++++------ manuscript/recipies/autopirate/ombi.md | 12 ++++++------ manuscript/recipies/autopirate/plexpy.md | 8 ++++---- manuscript/recipies/autopirate/radarr.md | 12 ++++++------ manuscript/recipies/autopirate/rtorrent.md | 8 ++++---- manuscript/recipies/autopirate/sabnzbd.md | 12 ++++++------ manuscript/recipies/autopirate/sonarr.md | 12 ++++++------ manuscript/recipies/calibre-web.md | 8 ++++---- manuscript/recipies/cryptominer.md | 8 ++++---- manuscript/recipies/cryptominer/amd-gpu.md | 10 +++++----- manuscript/recipies/cryptominer/exchange.md | 8 ++++---- manuscript/recipies/cryptominer/minerhotel.md | 8 ++++---- manuscript/recipies/cryptominer/mining-pool.md | 8 ++++---- manuscript/recipies/cryptominer/mining-rig.md | 8 ++++---- manuscript/recipies/cryptominer/monitor.md | 12 ++++++------ manuscript/recipies/cryptominer/nvidia-gpu.md | 8 ++++---- manuscript/recipies/cryptominer/profit.md | 10 +++++----- manuscript/recipies/cryptominer/wallet.md | 8 ++++---- manuscript/recipies/duplicity.md | 8 ++++---- manuscript/recipies/emby.md | 8 ++++---- manuscript/recipies/ghost.md | 8 ++++---- manuscript/recipies/gitlab-runner.md | 8 ++++---- manuscript/recipies/gitlab.md | 12 ++++++------ manuscript/recipies/gollum.md | 8 ++++---- manuscript/recipies/homeassistant.md | 8 ++++---- manuscript/recipies/huginn.md | 8 ++++---- manuscript/recipies/instapy.md | 12 ++++++------ manuscript/recipies/kanboard.md | 8 ++++---- manuscript/recipies/mail.md | 8 ++++---- manuscript/recipies/miniflux.md | 8 ++++---- manuscript/recipies/nextcloud.md | 12 ++++++------ manuscript/recipies/owntracks.md | 8 ++++---- manuscript/recipies/piwik.md | 8 ++++---- manuscript/recipies/plex.md | 8 ++++---- manuscript/recipies/portainer.md | 8 ++++---- manuscript/recipies/template.md | 8 ++++---- manuscript/recipies/tiny-tiny-rss.md | 8 ++++---- manuscript/recipies/turtle-pool.md | 10 +++++----- manuscript/recipies/wallabag.md | 8 ++++---- manuscript/recipies/wekan.md | 8 ++++---- manuscript/reference/data_layout.md | 6 +++--- manuscript/reference/git-docker.md | 6 +++--- manuscript/reference/networks.md | 6 +++--- manuscript/reference/oauth_proxy.md | 6 +++--- manuscript/reference/openvpn.md | 18 +++++++++--------- manuscript/reference/troubleshooting.md | 6 +++--- manuscript/support.md | 8 ++++---- 64 files changed, 290 insertions(+), 290 deletions(-) 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/index.md b/manuscript/index.md index b2be860..49f6baa 100644 --- a/manuscript/index.md +++ b/manuscript/index.md @@ -31,7 +31,7 @@ No, seriously (_but yes, I do want your money - see below_), If the above applie I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -40,7 +40,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -54,6 +54,6 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. 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..ffb4357 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..e3ca5f7 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..be582b3 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,10 +57,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..78bca45 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,10 +43,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d0d13fb 100644 --- a/manuscript/recipies/autopirate/nzbget.md +++ b/manuscript/recipies/autopirate/nzbget.md @@ -15,9 +15,9 @@ To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack (_The only reason you **wouldn't** use NZBGet, would be if you were using [SABnzbd](/recipies/autopirate/sabnzbd/) instead_), include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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..2ed0533 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,10 +49,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..28f7497 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,10 +50,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..0629d7a 100644 --- a/manuscript/recipies/autopirate/plexpy.md +++ b/manuscript/recipies/autopirate/plexpy.md @@ -21,9 +21,9 @@ Details To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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,10 +54,10 @@ 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``` 👍 + 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``` ## Chef's Notes diff --git a/manuscript/recipies/autopirate/radarr.md b/manuscript/recipies/autopirate/radarr.md index e1227f4..9fcf705 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,10 +58,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..8bc2d13 100644 --- a/manuscript/recipies/autopirate/rtorrent.md +++ b/manuscript/recipies/autopirate/rtorrent.md @@ -52,7 +52,7 @@ rtorrent_proxy: ``` !!! 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d03e17f 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,10 +46,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d31a2d2 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d335762 100644 --- a/manuscript/recipies/calibre-web.md +++ b/manuscript/recipies/calibre-web.md @@ -60,7 +60,7 @@ Follow the [instructions](https://github.com/bitly/oauth2_proxy) to setup your o Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..f741206 100644 --- a/manuscript/recipies/cryptominer.md +++ b/manuscript/recipies/cryptominer.md @@ -29,14 +29,14 @@ For readability, I've split this recipe into multiple sub-recipies, which can be 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..3a45288 100644 --- a/manuscript/recipies/cryptominer/amd-gpu.md +++ b/manuscript/recipies/cryptominer/amd-gpu.md @@ -108,7 +108,7 @@ Example below: Now find an appropriate ROM to flash onto the card, and run ```atiflash -p !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. Example below: @@ -155,15 +155,15 @@ Now, continue to the next stage of your grand mining adventure: 3. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -6. [Profit](/recipies/cryptominer/profit/)! 💰 +6. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..58f82d2 100644 --- a/manuscript/recipies/cryptominer/exchange.md +++ b/manuscript/recipies/cryptominer/exchange.md @@ -43,13 +43,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..2e21b2f 100644 --- a/manuscript/recipies/cryptominer/minerhotel.md +++ b/manuscript/recipies/cryptominer/minerhotel.md @@ -93,13 +93,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with Miner Hotel 🏨 (_This page_) 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..9f2c0a0 100644 --- a/manuscript/recipies/cryptominer/mining-pool.md +++ b/manuscript/recipies/cryptominer/mining-pool.md @@ -46,13 +46,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..c78c225 100644 --- a/manuscript/recipies/cryptominer/mining-rig.md +++ b/manuscript/recipies/cryptominer/mining-rig.md @@ -36,7 +36,7 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! @@ -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..341d0db 100644 --- a/manuscript/recipies/cryptominer/monitor.md +++ b/manuscript/recipies/cryptominer/monitor.md @@ -27,7 +27,7 @@ Here's an early version of the script (_it's since been updated for clockspeed a !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring ### Alarming on failure @@ -41,7 +41,7 @@ The script tests the output of the currently active miner, and ensures the GPUs !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring ### Monitoring pool/miner status @@ -80,14 +80,14 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. Monitor your empire :heartbeat: (_this page_) -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..b3c0c23 100644 --- a/manuscript/recipies/cryptominer/nvidia-gpu.md +++ b/manuscript/recipies/cryptominer/nvidia-gpu.md @@ -152,13 +152,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..17db314 100644 --- a/manuscript/recipies/cryptominer/profit.md +++ b/manuscript/recipies/cryptominer/profit.md @@ -1,4 +1,4 @@ -# Profit! 💰 +# Profit! Well, that's it really. You're a cryptominer. Welcome to the party. @@ -12,7 +12,7 @@ To recap, you did all this: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. Profit! (_This page_) 💰 +7. Profit! (_This page_) ## What next? @@ -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..0eb2d91 100644 --- a/manuscript/recipies/cryptominer/wallet.md +++ b/manuscript/recipies/cryptominer/wallet.md @@ -29,13 +29,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or wallets (_This page_) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..3b743ce 100644 --- a/manuscript/recipies/duplicity.md +++ b/manuscript/recipies/duplicity.md @@ -120,7 +120,7 @@ Examine the contents of /var/data/duplicity/tmp/traefik-restored.yml to confirm Now that we have confidence in our backup/restore process, let's automate it by creating a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..6ed9577 100644 --- a/manuscript/recipies/emby.md +++ b/manuscript/recipies/emby.md @@ -36,7 +36,7 @@ GUID= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..41a4c63 100644 --- a/manuscript/recipies/ghost.md +++ b/manuscript/recipies/ghost.md @@ -27,7 +27,7 @@ mkdir -p /var/data/ghost Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..e8c64bc 100644 --- a/manuscript/recipies/gitlab-runner.md +++ b/manuscript/recipies/gitlab-runner.md @@ -27,7 +27,7 @@ mkdir -p {runners/1,runners/2} Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9c2f354 100644 --- a/manuscript/recipies/gitlab.md +++ b/manuscript/recipies/gitlab.md @@ -52,9 +52,9 @@ GITLAB_ROOT_PASSWORD Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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..f8ab547 100644 --- a/manuscript/recipies/gollum.md +++ b/manuscript/recipies/gollum.md @@ -64,7 +64,7 @@ OAUTH2_PROXY_COOKIE_SECRET= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..80b37a8 100644 --- a/manuscript/recipies/homeassistant.md +++ b/manuscript/recipies/homeassistant.md @@ -43,7 +43,7 @@ GF_AUTH_BASIC_ENABLED=false Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..9f6595d 100644 --- a/manuscript/recipies/huginn.md +++ b/manuscript/recipies/huginn.md @@ -69,7 +69,7 @@ BACKUP_FREQUENCY=1d Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..c66368e 100644 --- a/manuscript/recipies/instapy.md +++ b/manuscript/recipies/instapy.md @@ -29,7 +29,7 @@ mkdir -p /var/data/instapy/logs Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..921e07e 100644 --- a/manuscript/recipies/kanboard.md +++ b/manuscript/recipies/kanboard.md @@ -42,7 +42,7 @@ mkdir -p /var/data/kanboard Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..7fc8934 100644 --- a/manuscript/recipies/mail.md +++ b/manuscript/recipies/mail.md @@ -95,7 +95,7 @@ Create the necessary DNS TXT entries for your domain(s). Note that although open Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..c8f199e 100644 --- a/manuscript/recipies/miniflux.md +++ b/manuscript/recipies/miniflux.md @@ -67,7 +67,7 @@ The entire application is configured using environment variables, including the Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9483935 100644 --- a/manuscript/recipies/nextcloud.md +++ b/manuscript/recipies/nextcloud.md @@ -53,20 +53,20 @@ 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 Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..0909dcd 100644 --- a/manuscript/recipies/owntracks.md +++ b/manuscript/recipies/owntracks.md @@ -45,7 +45,7 @@ MAIL_FROM="Wekan " Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..22f5601 100644 --- a/manuscript/recipies/piwik.md +++ b/manuscript/recipies/piwik.md @@ -31,7 +31,7 @@ MYSQL_ROOT_PASSWORD=set-me-and-use-me-when-setting-up-piwik Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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? diff --git a/manuscript/support.md b/manuscript/support.md index 6a55266..b673876 100644 --- a/manuscript/support.md +++ b/manuscript/support.md @@ -29,7 +29,7 @@ Found a bug in your soup? Tell the chef by either: I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -38,7 +38,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -49,10 +49,10 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry | Bitcoin | 1GBJfmqARmL66gQzUy9HtNWdmAEv74nfXj | Ethereum | 0x19e60ec49e1f053cfdfc193560ecfb3caed928f1 | Litecoin | LYLEF7xTpeVbjjoZD3jGLVgvKSKTYDKbK8 -| :turtle: TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 +| TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. From 7ef99757fd7357a3918b57f1af3518218986b776 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Jun 2018 14:32:06 +1200 Subject: [PATCH 13/17] Added some sed rules --- scripts/markdown-to-markua.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 707a0f7..aca7bc7 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -12,5 +12,11 @@ find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🍷//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🏢//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/❤️//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/:turtle://g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/👋//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" + + # Do nothing, yet. This is where the sed magic will go From 906b2fb8866c1787ae746882cf43e92c944f52fd Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 7 Jun 2018 02:39:46 +0000 Subject: [PATCH 14/17] Travis build: 31 --- manuscript/advanced/tiny-tiny-rss.md | 16 ++++++++-------- manuscript/ha-docker-swarm/design.md | 6 +++--- .../ha-docker-swarm/docker-swarm-mode.md | 10 +++++----- manuscript/ha-docker-swarm/keepalived.md | 6 +++--- manuscript/ha-docker-swarm/registry.md | 10 +++++----- .../ha-docker-swarm/shared-storage-ceph.md | 6 +++--- .../ha-docker-swarm/shared-storage-gluster.md | 10 +++++----- manuscript/ha-docker-swarm/traefik.md | 6 +++--- manuscript/ha-docker-swarm/vms.md | 6 +++--- manuscript/index.md | 10 +++++----- manuscript/recipies/autopirate.md | 14 +++++++------- manuscript/recipies/autopirate/end.md | 6 +++--- manuscript/recipies/autopirate/headphones.md | 12 ++++++------ manuscript/recipies/autopirate/jackett.md | 12 ++++++------ .../recipies/autopirate/lazylibrarian.md | 12 ++++++------ manuscript/recipies/autopirate/mylar.md | 12 ++++++------ manuscript/recipies/autopirate/nzbget.md | 12 ++++++------ manuscript/recipies/autopirate/nzbhydra.md | 12 ++++++------ manuscript/recipies/autopirate/ombi.md | 12 ++++++------ manuscript/recipies/autopirate/plexpy.md | 8 ++++---- manuscript/recipies/autopirate/radarr.md | 12 ++++++------ manuscript/recipies/autopirate/rtorrent.md | 8 ++++---- manuscript/recipies/autopirate/sabnzbd.md | 12 ++++++------ manuscript/recipies/autopirate/sonarr.md | 12 ++++++------ manuscript/recipies/calibre-web.md | 8 ++++---- manuscript/recipies/cryptominer.md | 8 ++++---- manuscript/recipies/cryptominer/amd-gpu.md | 10 +++++----- manuscript/recipies/cryptominer/exchange.md | 8 ++++---- manuscript/recipies/cryptominer/minerhotel.md | 8 ++++---- manuscript/recipies/cryptominer/mining-pool.md | 8 ++++---- manuscript/recipies/cryptominer/mining-rig.md | 8 ++++---- manuscript/recipies/cryptominer/monitor.md | 12 ++++++------ manuscript/recipies/cryptominer/nvidia-gpu.md | 8 ++++---- manuscript/recipies/cryptominer/profit.md | 10 +++++----- manuscript/recipies/cryptominer/wallet.md | 8 ++++---- manuscript/recipies/duplicity.md | 8 ++++---- manuscript/recipies/emby.md | 8 ++++---- manuscript/recipies/ghost.md | 8 ++++---- manuscript/recipies/gitlab-runner.md | 8 ++++---- manuscript/recipies/gitlab.md | 12 ++++++------ manuscript/recipies/gollum.md | 8 ++++---- manuscript/recipies/homeassistant.md | 8 ++++---- manuscript/recipies/huginn.md | 8 ++++---- manuscript/recipies/instapy.md | 12 ++++++------ manuscript/recipies/kanboard.md | 8 ++++---- manuscript/recipies/mail.md | 8 ++++---- manuscript/recipies/miniflux.md | 8 ++++---- manuscript/recipies/nextcloud.md | 12 ++++++------ manuscript/recipies/owntracks.md | 8 ++++---- manuscript/recipies/piwik.md | 8 ++++---- manuscript/recipies/plex.md | 8 ++++---- manuscript/recipies/portainer.md | 8 ++++---- manuscript/recipies/template.md | 8 ++++---- manuscript/recipies/tiny-tiny-rss.md | 8 ++++---- manuscript/recipies/turtle-pool.md | 10 +++++----- manuscript/recipies/wallabag.md | 8 ++++---- manuscript/recipies/wekan.md | 8 ++++---- manuscript/reference/data_layout.md | 6 +++--- manuscript/reference/git-docker.md | 6 +++--- manuscript/reference/networks.md | 6 +++--- manuscript/reference/oauth_proxy.md | 6 +++--- manuscript/reference/openvpn.md | 18 +++++++++--------- manuscript/reference/troubleshooting.md | 6 +++--- manuscript/support.md | 8 ++++---- 64 files changed, 292 insertions(+), 292 deletions(-) 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/index.md b/manuscript/index.md index b2be860..2179f6e 100644 --- a/manuscript/index.md +++ b/manuscript/index.md @@ -22,16 +22,16 @@ I want your money. No, seriously (_but yes, I do want your money - see below_), If the above applies to you, then you're like me. I want everything I wrote above, so I ended up learning all this as I went along. I enjoy it, and I'm good at it. So I created this website, partly to make sure I documented my own setup properly. -### Get in touch 👋 +### Get in touch -* Tweet me up, I'm [@funkypenguin](https://twitter.com/funkypenguin)! 🐦 +* Tweet me up, I'm [@funkypenguin](https://twitter.com/funkypenguin)! * or better yet, come into the [kitchen](https://discourse.geek-kitchen.funkypenguin.co.nz/) (discussion forums) to say hi, ask a question, or suggest a new recipe! ### Buy my book 📖 I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -40,7 +40,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -54,6 +54,6 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. 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..ffb4357 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..e3ca5f7 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..be582b3 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,10 +57,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..78bca45 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,10 +43,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d0d13fb 100644 --- a/manuscript/recipies/autopirate/nzbget.md +++ b/manuscript/recipies/autopirate/nzbget.md @@ -15,9 +15,9 @@ To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack (_The only reason you **wouldn't** use NZBGet, would be if you were using [SABnzbd](/recipies/autopirate/sabnzbd/) instead_), include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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..2ed0533 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,10 +49,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..28f7497 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,10 +50,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..0629d7a 100644 --- a/manuscript/recipies/autopirate/plexpy.md +++ b/manuscript/recipies/autopirate/plexpy.md @@ -21,9 +21,9 @@ Details To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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,10 +54,10 @@ 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``` 👍 + 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``` ## Chef's Notes diff --git a/manuscript/recipies/autopirate/radarr.md b/manuscript/recipies/autopirate/radarr.md index e1227f4..9fcf705 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,10 +58,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..8bc2d13 100644 --- a/manuscript/recipies/autopirate/rtorrent.md +++ b/manuscript/recipies/autopirate/rtorrent.md @@ -52,7 +52,7 @@ rtorrent_proxy: ``` !!! 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d03e17f 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,10 +46,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d31a2d2 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d335762 100644 --- a/manuscript/recipies/calibre-web.md +++ b/manuscript/recipies/calibre-web.md @@ -60,7 +60,7 @@ Follow the [instructions](https://github.com/bitly/oauth2_proxy) to setup your o Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..f741206 100644 --- a/manuscript/recipies/cryptominer.md +++ b/manuscript/recipies/cryptominer.md @@ -29,14 +29,14 @@ For readability, I've split this recipe into multiple sub-recipies, which can be 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..3a45288 100644 --- a/manuscript/recipies/cryptominer/amd-gpu.md +++ b/manuscript/recipies/cryptominer/amd-gpu.md @@ -108,7 +108,7 @@ Example below: Now find an appropriate ROM to flash onto the card, and run ```atiflash -p !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. Example below: @@ -155,15 +155,15 @@ Now, continue to the next stage of your grand mining adventure: 3. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -6. [Profit](/recipies/cryptominer/profit/)! 💰 +6. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..58f82d2 100644 --- a/manuscript/recipies/cryptominer/exchange.md +++ b/manuscript/recipies/cryptominer/exchange.md @@ -43,13 +43,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..2e21b2f 100644 --- a/manuscript/recipies/cryptominer/minerhotel.md +++ b/manuscript/recipies/cryptominer/minerhotel.md @@ -93,13 +93,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with Miner Hotel 🏨 (_This page_) 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..9f2c0a0 100644 --- a/manuscript/recipies/cryptominer/mining-pool.md +++ b/manuscript/recipies/cryptominer/mining-pool.md @@ -46,13 +46,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..c78c225 100644 --- a/manuscript/recipies/cryptominer/mining-rig.md +++ b/manuscript/recipies/cryptominer/mining-rig.md @@ -36,7 +36,7 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! @@ -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..341d0db 100644 --- a/manuscript/recipies/cryptominer/monitor.md +++ b/manuscript/recipies/cryptominer/monitor.md @@ -27,7 +27,7 @@ Here's an early version of the script (_it's since been updated for clockspeed a !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring ### Alarming on failure @@ -41,7 +41,7 @@ The script tests the output of the currently active miner, and ensures the GPUs !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring ### Monitoring pool/miner status @@ -80,14 +80,14 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. Monitor your empire :heartbeat: (_this page_) -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..b3c0c23 100644 --- a/manuscript/recipies/cryptominer/nvidia-gpu.md +++ b/manuscript/recipies/cryptominer/nvidia-gpu.md @@ -152,13 +152,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..17db314 100644 --- a/manuscript/recipies/cryptominer/profit.md +++ b/manuscript/recipies/cryptominer/profit.md @@ -1,4 +1,4 @@ -# Profit! 💰 +# Profit! Well, that's it really. You're a cryptominer. Welcome to the party. @@ -12,7 +12,7 @@ To recap, you did all this: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. Profit! (_This page_) 💰 +7. Profit! (_This page_) ## What next? @@ -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..0eb2d91 100644 --- a/manuscript/recipies/cryptominer/wallet.md +++ b/manuscript/recipies/cryptominer/wallet.md @@ -29,13 +29,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or wallets (_This page_) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..3b743ce 100644 --- a/manuscript/recipies/duplicity.md +++ b/manuscript/recipies/duplicity.md @@ -120,7 +120,7 @@ Examine the contents of /var/data/duplicity/tmp/traefik-restored.yml to confirm Now that we have confidence in our backup/restore process, let's automate it by creating a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..6ed9577 100644 --- a/manuscript/recipies/emby.md +++ b/manuscript/recipies/emby.md @@ -36,7 +36,7 @@ GUID= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..41a4c63 100644 --- a/manuscript/recipies/ghost.md +++ b/manuscript/recipies/ghost.md @@ -27,7 +27,7 @@ mkdir -p /var/data/ghost Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..e8c64bc 100644 --- a/manuscript/recipies/gitlab-runner.md +++ b/manuscript/recipies/gitlab-runner.md @@ -27,7 +27,7 @@ mkdir -p {runners/1,runners/2} Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9c2f354 100644 --- a/manuscript/recipies/gitlab.md +++ b/manuscript/recipies/gitlab.md @@ -52,9 +52,9 @@ GITLAB_ROOT_PASSWORD Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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..f8ab547 100644 --- a/manuscript/recipies/gollum.md +++ b/manuscript/recipies/gollum.md @@ -64,7 +64,7 @@ OAUTH2_PROXY_COOKIE_SECRET= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..80b37a8 100644 --- a/manuscript/recipies/homeassistant.md +++ b/manuscript/recipies/homeassistant.md @@ -43,7 +43,7 @@ GF_AUTH_BASIC_ENABLED=false Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..9f6595d 100644 --- a/manuscript/recipies/huginn.md +++ b/manuscript/recipies/huginn.md @@ -69,7 +69,7 @@ BACKUP_FREQUENCY=1d Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..c66368e 100644 --- a/manuscript/recipies/instapy.md +++ b/manuscript/recipies/instapy.md @@ -29,7 +29,7 @@ mkdir -p /var/data/instapy/logs Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..921e07e 100644 --- a/manuscript/recipies/kanboard.md +++ b/manuscript/recipies/kanboard.md @@ -42,7 +42,7 @@ mkdir -p /var/data/kanboard Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..7fc8934 100644 --- a/manuscript/recipies/mail.md +++ b/manuscript/recipies/mail.md @@ -95,7 +95,7 @@ Create the necessary DNS TXT entries for your domain(s). Note that although open Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..c8f199e 100644 --- a/manuscript/recipies/miniflux.md +++ b/manuscript/recipies/miniflux.md @@ -67,7 +67,7 @@ The entire application is configured using environment variables, including the Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9483935 100644 --- a/manuscript/recipies/nextcloud.md +++ b/manuscript/recipies/nextcloud.md @@ -53,20 +53,20 @@ 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 Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..0909dcd 100644 --- a/manuscript/recipies/owntracks.md +++ b/manuscript/recipies/owntracks.md @@ -45,7 +45,7 @@ MAIL_FROM="Wekan " Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..22f5601 100644 --- a/manuscript/recipies/piwik.md +++ b/manuscript/recipies/piwik.md @@ -31,7 +31,7 @@ MYSQL_ROOT_PASSWORD=set-me-and-use-me-when-setting-up-piwik Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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? diff --git a/manuscript/support.md b/manuscript/support.md index 6a55266..b673876 100644 --- a/manuscript/support.md +++ b/manuscript/support.md @@ -29,7 +29,7 @@ Found a bug in your soup? Tell the chef by either: I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -38,7 +38,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -49,10 +49,10 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry | Bitcoin | 1GBJfmqARmL66gQzUy9HtNWdmAEv74nfXj | Ethereum | 0x19e60ec49e1f053cfdfc193560ecfb3caed928f1 | Litecoin | LYLEF7xTpeVbjjoZD3jGLVgvKSKTYDKbK8 -| :turtle: TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 +| TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. From 6e30c59eeb9ba3c93022899ef9a382abd50c0065 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Jun 2018 14:57:46 +1200 Subject: [PATCH 15/17] Removed book emoji --- scripts/markdown-to-markua.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index aca7bc7..b08da9c 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -14,7 +14,7 @@ find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/❤️//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/:turtle://g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/👋//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" -find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" +find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/📖//g" find manuscript -type f -name "*.md" -print0 | xargs -0 sed -i "s/🐦//g" From 2af44fd9a98c3be161d72095dde67da564ce9c99 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 7 Jun 2018 02:58:48 +0000 Subject: [PATCH 16/17] Travis build: 32 --- manuscript/advanced/tiny-tiny-rss.md | 16 ++++++++-------- manuscript/ha-docker-swarm/design.md | 6 +++--- .../ha-docker-swarm/docker-swarm-mode.md | 10 +++++----- manuscript/ha-docker-swarm/keepalived.md | 6 +++--- manuscript/ha-docker-swarm/registry.md | 10 +++++----- .../ha-docker-swarm/shared-storage-ceph.md | 6 +++--- .../ha-docker-swarm/shared-storage-gluster.md | 10 +++++----- manuscript/ha-docker-swarm/traefik.md | 6 +++--- manuscript/ha-docker-swarm/vms.md | 6 +++--- manuscript/index.md | 12 ++++++------ manuscript/recipies/autopirate.md | 16 ++++++++-------- manuscript/recipies/autopirate/end.md | 6 +++--- manuscript/recipies/autopirate/headphones.md | 14 +++++++------- manuscript/recipies/autopirate/jackett.md | 12 ++++++------ .../recipies/autopirate/lazylibrarian.md | 12 ++++++------ manuscript/recipies/autopirate/mylar.md | 12 ++++++------ manuscript/recipies/autopirate/nzbget.md | 12 ++++++------ manuscript/recipies/autopirate/nzbhydra.md | 12 ++++++------ manuscript/recipies/autopirate/ombi.md | 12 ++++++------ manuscript/recipies/autopirate/plexpy.md | 8 ++++---- manuscript/recipies/autopirate/radarr.md | 12 ++++++------ manuscript/recipies/autopirate/rtorrent.md | 8 ++++---- manuscript/recipies/autopirate/sabnzbd.md | 12 ++++++------ manuscript/recipies/autopirate/sonarr.md | 12 ++++++------ manuscript/recipies/calibre-web.md | 8 ++++---- manuscript/recipies/cryptominer.md | 8 ++++---- manuscript/recipies/cryptominer/amd-gpu.md | 10 +++++----- manuscript/recipies/cryptominer/exchange.md | 8 ++++---- manuscript/recipies/cryptominer/minerhotel.md | 8 ++++---- manuscript/recipies/cryptominer/mining-pool.md | 8 ++++---- manuscript/recipies/cryptominer/mining-rig.md | 8 ++++---- manuscript/recipies/cryptominer/monitor.md | 12 ++++++------ manuscript/recipies/cryptominer/nvidia-gpu.md | 8 ++++---- manuscript/recipies/cryptominer/profit.md | 10 +++++----- manuscript/recipies/cryptominer/wallet.md | 8 ++++---- manuscript/recipies/duplicity.md | 8 ++++---- manuscript/recipies/emby.md | 8 ++++---- manuscript/recipies/ghost.md | 8 ++++---- manuscript/recipies/gitlab-runner.md | 8 ++++---- manuscript/recipies/gitlab.md | 12 ++++++------ manuscript/recipies/gollum.md | 8 ++++---- manuscript/recipies/homeassistant.md | 8 ++++---- manuscript/recipies/huginn.md | 8 ++++---- manuscript/recipies/instapy.md | 12 ++++++------ manuscript/recipies/kanboard.md | 8 ++++---- manuscript/recipies/mail.md | 8 ++++---- manuscript/recipies/miniflux.md | 8 ++++---- manuscript/recipies/nextcloud.md | 12 ++++++------ manuscript/recipies/owntracks.md | 8 ++++---- manuscript/recipies/piwik.md | 8 ++++---- manuscript/recipies/plex.md | 8 ++++---- manuscript/recipies/portainer.md | 8 ++++---- manuscript/recipies/template.md | 8 ++++---- manuscript/recipies/tiny-tiny-rss.md | 8 ++++---- manuscript/recipies/turtle-pool.md | 10 +++++----- manuscript/recipies/wallabag.md | 8 ++++---- manuscript/recipies/wekan.md | 8 ++++---- manuscript/reference/data_layout.md | 6 +++--- manuscript/reference/git-docker.md | 6 +++--- manuscript/reference/networks.md | 6 +++--- manuscript/reference/oauth_proxy.md | 6 +++--- manuscript/reference/openvpn.md | 18 +++++++++--------- manuscript/reference/troubleshooting.md | 6 +++--- manuscript/support.md | 10 +++++----- 64 files changed, 296 insertions(+), 296 deletions(-) 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/index.md b/manuscript/index.md index b2be860..1562a08 100644 --- a/manuscript/index.md +++ b/manuscript/index.md @@ -22,16 +22,16 @@ I want your money. No, seriously (_but yes, I do want your money - see below_), If the above applies to you, then you're like me. I want everything I wrote above, so I ended up learning all this as I went along. I enjoy it, and I'm good at it. So I created this website, partly to make sure I documented my own setup properly. -### Get in touch 👋 +### Get in touch -* Tweet me up, I'm [@funkypenguin](https://twitter.com/funkypenguin)! 🐦 +* Tweet me up, I'm [@funkypenguin](https://twitter.com/funkypenguin)! * or better yet, come into the [kitchen](https://discourse.geek-kitchen.funkypenguin.co.nz/) (discussion forums) to say hi, ask a question, or suggest a new recipe! -### Buy my book 📖 +### Buy my book I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -40,7 +40,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -54,6 +54,6 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. diff --git a/manuscript/recipies/autopirate.md b/manuscript/recipies/autopirate.md index f0574a2..96cda27 100644 --- a/manuscript/recipies/autopirate.md +++ b/manuscript/recipies/autopirate.md @@ -1,4 +1,4 @@ -hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and organising your media 📺 🎥 🎵 📖 +hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and organising your media 📺 🎥 🎵 # AutoPirate @@ -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..f4993bf 100644 --- a/manuscript/recipies/autopirate/headphones.md +++ b/manuscript/recipies/autopirate/headphones.md @@ -1,4 +1,4 @@ -hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and organising your media 📺 🎥 🎵 📖 +hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and organising your media 📺 🎥 🎵 !!! warning This is not a complete recipe - it's a component of the [autopirate](/recipies/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity. @@ -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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..e3ca5f7 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..be582b3 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,10 +57,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..78bca45 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,10 +43,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d0d13fb 100644 --- a/manuscript/recipies/autopirate/nzbget.md +++ b/manuscript/recipies/autopirate/nzbget.md @@ -15,9 +15,9 @@ To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack (_The only reason you **wouldn't** use NZBGet, would be if you were using [SABnzbd](/recipies/autopirate/sabnzbd/) instead_), include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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..2ed0533 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,10 +49,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..28f7497 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,10 +50,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..0629d7a 100644 --- a/manuscript/recipies/autopirate/plexpy.md +++ b/manuscript/recipies/autopirate/plexpy.md @@ -21,9 +21,9 @@ Details To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: !!! 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``` 👍 + 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,10 +54,10 @@ 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``` 👍 + 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``` ## Chef's Notes diff --git a/manuscript/recipies/autopirate/radarr.md b/manuscript/recipies/autopirate/radarr.md index e1227f4..9fcf705 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,10 +58,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..8bc2d13 100644 --- a/manuscript/recipies/autopirate/rtorrent.md +++ b/manuscript/recipies/autopirate/rtorrent.md @@ -52,7 +52,7 @@ rtorrent_proxy: ``` !!! 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d03e17f 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,10 +46,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d31a2d2 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,10 +45,10 @@ 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``` 👍 + 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``` ## Assemble more tools.. @@ -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..d335762 100644 --- a/manuscript/recipies/calibre-web.md +++ b/manuscript/recipies/calibre-web.md @@ -60,7 +60,7 @@ Follow the [instructions](https://github.com/bitly/oauth2_proxy) to setup your o Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..f741206 100644 --- a/manuscript/recipies/cryptominer.md +++ b/manuscript/recipies/cryptominer.md @@ -29,14 +29,14 @@ For readability, I've split this recipe into multiple sub-recipies, which can be 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..3a45288 100644 --- a/manuscript/recipies/cryptominer/amd-gpu.md +++ b/manuscript/recipies/cryptominer/amd-gpu.md @@ -108,7 +108,7 @@ Example below: Now find an appropriate ROM to flash onto the card, and run ```atiflash -p !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes a range of RX580-compatible ROMs, some of which I've tweaked for my own GPUs. Example below: @@ -155,15 +155,15 @@ Now, continue to the next stage of your grand mining adventure: 3. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -6. [Profit](/recipies/cryptominer/profit/)! 💰 +6. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..58f82d2 100644 --- a/manuscript/recipies/cryptominer/exchange.md +++ b/manuscript/recipies/cryptominer/exchange.md @@ -43,13 +43,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..2e21b2f 100644 --- a/manuscript/recipies/cryptominer/minerhotel.md +++ b/manuscript/recipies/cryptominer/minerhotel.md @@ -93,13 +93,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with Miner Hotel 🏨 (_This page_) 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..9f2c0a0 100644 --- a/manuscript/recipies/cryptominer/mining-pool.md +++ b/manuscript/recipies/cryptominer/mining-pool.md @@ -46,13 +46,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..c78c225 100644 --- a/manuscript/recipies/cryptominer/mining-rig.md +++ b/manuscript/recipies/cryptominer/mining-rig.md @@ -36,7 +36,7 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! @@ -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..341d0db 100644 --- a/manuscript/recipies/cryptominer/monitor.md +++ b/manuscript/recipies/cryptominer/monitor.md @@ -27,7 +27,7 @@ Here's an early version of the script (_it's since been updated for clockspeed a !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the InfluxDB /Grafana script mentioned above, as well as pre-setup Grafana graphs, so that patrons can simply "_git pull_" and start monitoring ### Alarming on failure @@ -41,7 +41,7 @@ The script tests the output of the currently active miner, and ensures the GPUs !!! tip - I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring 👍 + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes up-to-date versions of the Icinga scripts mentioned above, so that patrons can simply "_git pull_" and start monitoring ### Monitoring pool/miner status @@ -80,14 +80,14 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. Monitor your empire :heartbeat: (_this page_) -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## Chef's Notes 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..b3c0c23 100644 --- a/manuscript/recipies/cryptominer/nvidia-gpu.md +++ b/manuscript/recipies/cryptominer/nvidia-gpu.md @@ -152,13 +152,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..17db314 100644 --- a/manuscript/recipies/cryptominer/profit.md +++ b/manuscript/recipies/cryptominer/profit.md @@ -1,4 +1,4 @@ -# Profit! 💰 +# Profit! Well, that's it really. You're a cryptominer. Welcome to the party. @@ -12,7 +12,7 @@ To recap, you did all this: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. Profit! (_This page_) 💰 +7. Profit! (_This page_) ## What next? @@ -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..0eb2d91 100644 --- a/manuscript/recipies/cryptominer/wallet.md +++ b/manuscript/recipies/cryptominer/wallet.md @@ -29,13 +29,13 @@ Now, continue to the next stage of your grand mining adventure: 4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or wallets (_This page_) 💹 6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: -7. [Profit](/recipies/cryptominer/profit/)! 💰 +7. [Profit](/recipies/cryptominer/profit/)! ## 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..3b743ce 100644 --- a/manuscript/recipies/duplicity.md +++ b/manuscript/recipies/duplicity.md @@ -120,7 +120,7 @@ Examine the contents of /var/data/duplicity/tmp/traefik-restored.yml to confirm Now that we have confidence in our backup/restore process, let's automate it by creating a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..6ed9577 100644 --- a/manuscript/recipies/emby.md +++ b/manuscript/recipies/emby.md @@ -36,7 +36,7 @@ GUID= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..41a4c63 100644 --- a/manuscript/recipies/ghost.md +++ b/manuscript/recipies/ghost.md @@ -27,7 +27,7 @@ mkdir -p /var/data/ghost Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..e8c64bc 100644 --- a/manuscript/recipies/gitlab-runner.md +++ b/manuscript/recipies/gitlab-runner.md @@ -27,7 +27,7 @@ mkdir -p {runners/1,runners/2} Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9c2f354 100644 --- a/manuscript/recipies/gitlab.md +++ b/manuscript/recipies/gitlab.md @@ -52,9 +52,9 @@ GITLAB_ROOT_PASSWORD Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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..f8ab547 100644 --- a/manuscript/recipies/gollum.md +++ b/manuscript/recipies/gollum.md @@ -64,7 +64,7 @@ OAUTH2_PROXY_COOKIE_SECRET= Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..80b37a8 100644 --- a/manuscript/recipies/homeassistant.md +++ b/manuscript/recipies/homeassistant.md @@ -43,7 +43,7 @@ GF_AUTH_BASIC_ENABLED=false Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..9f6595d 100644 --- a/manuscript/recipies/huginn.md +++ b/manuscript/recipies/huginn.md @@ -69,7 +69,7 @@ BACKUP_FREQUENCY=1d Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..c66368e 100644 --- a/manuscript/recipies/instapy.md +++ b/manuscript/recipies/instapy.md @@ -29,7 +29,7 @@ mkdir -p /var/data/instapy/logs Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..921e07e 100644 --- a/manuscript/recipies/kanboard.md +++ b/manuscript/recipies/kanboard.md @@ -42,7 +42,7 @@ mkdir -p /var/data/kanboard Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..7fc8934 100644 --- a/manuscript/recipies/mail.md +++ b/manuscript/recipies/mail.md @@ -95,7 +95,7 @@ Create the necessary DNS TXT entries for your domain(s). Note that although open Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..c8f199e 100644 --- a/manuscript/recipies/miniflux.md +++ b/manuscript/recipies/miniflux.md @@ -67,7 +67,7 @@ The entire application is configured using environment variables, including the Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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..9483935 100644 --- a/manuscript/recipies/nextcloud.md +++ b/manuscript/recipies/nextcloud.md @@ -53,20 +53,20 @@ 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 Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..0909dcd 100644 --- a/manuscript/recipies/owntracks.md +++ b/manuscript/recipies/owntracks.md @@ -45,7 +45,7 @@ MAIL_FROM="Wekan " Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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``` ``` @@ -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..22f5601 100644 --- a/manuscript/recipies/piwik.md +++ b/manuscript/recipies/piwik.md @@ -31,7 +31,7 @@ MYSQL_ROOT_PASSWORD=set-me-and-use-me-when-setting-up-piwik Create a docker swarm config file in docker-compose syntax (v3), something like this: !!! 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``` 👍 + 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' @@ -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? diff --git a/manuscript/support.md b/manuscript/support.md index 6a55266..f28cd01 100644 --- a/manuscript/support.md +++ b/manuscript/support.md @@ -25,11 +25,11 @@ Found a bug in your soup? Tell the chef by either: ## Tip the chef -### Buy my book 📖 +### Buy my book I'm also writing the Geek Cookbook as a formal eBook, on Leanpub (https://leanpub.com/geeks-cookbook). Buy it for $0.99 (_which is really just a token gesture of support_) - you can get it for free (_in PDF, mobi, or epub format_), or pay me what you think it's worth! -### Donate / [Support me 💰](https://www.patreon.com/funkypenguin) +### Donate / [Support me ](https://www.patreon.com/funkypenguin) The best way to support this work is to become a [Patreon patron](https://www.patreon.com/bePatron?u=6982506) (_for as little as $1/month!_) - You get : @@ -38,7 +38,7 @@ The best way to support this work is to become a [Patreon patron](https://www.pa * an anonymous plug you can pull at any time, * and a bunch more loot based on tier -.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 +.. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! Impulsively **[click here (NOW quick do it!)](https://www.patreon.com/bePatron?u=6982506)** to patronize me, or instead thoughtfully and analytically review my Patreon page / history **[here](https://www.patreon.com/funkypenguin)** and make up your own mind. @@ -49,10 +49,10 @@ I also gratefully accept donations of most fine socialist/anarchist/hobbyist cry | Bitcoin | 1GBJfmqARmL66gQzUy9HtNWdmAEv74nfXj | Ethereum | 0x19e60ec49e1f053cfdfc193560ecfb3caed928f1 | Litecoin | LYLEF7xTpeVbjjoZD3jGLVgvKSKTYDKbK8 -| :turtle: TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 +| TurtleCoin | TRTLv2qCKYChMbU5sNkc85hzq2VcGpQidaowbnV2N6LAYrFNebMLepKKPrdif75x5hAizwfc1pX4gi5VsR9WQbjQgYcJm21zec4 -### Hire me 🏢 +### Hire me Need some system design work done? I do freelance consulting - [contact](https://www.funkypenguin.co.nz/contact/) me for details. From 30083c171f8fffe766f9a8e7ea1846f5119cfa66 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 7 Jun 2018 10:05:44 +0000 Subject: [PATCH 17/17] Travis build: 34 --- manuscript/test.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 manuscript/test.md diff --git a/manuscript/test.md b/manuscript/test.md new file mode 100644 index 0000000..101d53d --- /dev/null +++ b/manuscript/test.md @@ -0,0 +1 @@ +Nananana... Batman!