From 418ca08c0860f55ca44523aadeb977e3579736ed Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 4 Jun 2020 09:57:15 +1200 Subject: [PATCH] Prevent markdown formatting from breaking leanpub render --- .../on-push-master-update-leanpub-preview.yml | 42 ++++++-- .travis.yml | 11 -- manuscript/book.txt | 3 +- .../ha-docker-swarm/shared-storage-ceph.md | 10 +- .../ha-docker-swarm/shared-storage-gluster.md | 15 ++- manuscript/index.md | 32 ++---- manuscript/recipes/collabora-online.md | 13 ++- manuscript/recipes/instapy.md | 1 + manuscript/reference/networks.md | 102 +++++++++--------- scripts/markdown-to-markua.sh | 16 ++- 10 files changed, 134 insertions(+), 111 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/on-push-master-update-leanpub-preview.yml b/.github/workflows/on-push-master-update-leanpub-preview.yml index 56454f4..851ae2b 100644 --- a/.github/workflows/on-push-master-update-leanpub-preview.yml +++ b/.github/workflows/on-push-master-update-leanpub-preview.yml @@ -1,4 +1,4 @@ -name: Notify Discord to cookbook update +name: Update leanpub branches on: push: @@ -7,16 +7,42 @@ on: paths: - 'manuscript/*.md' - 'manuscript/**/*.md' + - '.github/workflows/*' + - 'scripts/*' + jobs: + update-leanpub: + name: update-leanpub + runs-on: ubuntu-latest + steps: - name: Checkout charts repo uses: actions/checkout@v2 - - name: Merge to leanpub-preview branch - uses: devmasx/merge-branch@v1.1.0 + - name: Checkout latest leanpub-preview branch + uses: actions/checkout@v2 + with: + repository: ${{ env.GITHUB_PAGES_REPO }} + ref: leanpub-preview + path: leanpub-preview + + - name: Replace contents of leanpub-preview branch + run: | + rm -rf leanpub-preview/manuscript + rm -rf leanpub-preview/scripts + cp -rf manuscript leanpub-preview/ + cp -rf scripts leanpub-preview/ + cd leanpub-preview + ./scripts/markdown-to-markua.sh + git config --local --unset-all "http.https://github.com/.extraheader" + git config --global user.email "autopenguin@funkypenguin.co.nz" + git config --global user.name "AutoPenguin" + git add . + git commit -m 'Update for leanpub preview' + + - name: Push changes + uses: ad-m/github-push-action@master with: - type: now - target_branch: 'leanpub-preview' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - \ No newline at end of file + github_token: ${{ secrets.GITHUB_TOKEN }} + directory: leanpub-preview + branch: leanpub-preview \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2a67136..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -lang: python -branches: - except: - - leanpub-preview - - leanpub-publish -script: -- scripts/markdown-to-markua.sh -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= diff --git a/manuscript/book.txt b/manuscript/book.txt index 8988ec8..2a41eb8 100644 --- a/manuscript/book.txt +++ b/manuscript/book.txt @@ -78,7 +78,6 @@ sections/reference.md reference/oauth_proxy.md reference/data_layout.md reference/networks.md -reference/containers.md reference/git-docker.md reference/openvpn.md -reference/troubleshooting.md +reference/troubleshooting.md \ No newline at end of file diff --git a/manuscript/ha-docker-swarm/shared-storage-ceph.md b/manuscript/ha-docker-swarm/shared-storage-ceph.md index cf7485f..6ebd858 100644 --- a/manuscript/ha-docker-swarm/shared-storage-ceph.md +++ b/manuscript/ha-docker-swarm/shared-storage-ceph.md @@ -133,11 +133,11 @@ The process takes about 30 seconds, after which, you'll have a MVC (*Minimum Via It's now necessary to tranfer the following files to your ==other== nodes, so that cephadm can add them to your cluster, and so that they'll be able to mount the cephfs when we're done: -Path on master | Path on non-master ---------------- | ----- -`/etc/ceph/ceph.conf` | `/etc/ceph/ceph.conf` -`/etc/ceph/ceph.client.admin.keyring` | `/etc/ceph/ceph.client.admin.keyring` -`/etc/ceph/ceph.pub` | `/root/.ssh/authorized_keys` (append to anything existing) +| Path on master | Path on non-master | +|---------------------------------------|------------------------------------------------------------| +| `/etc/ceph/ceph.conf` | `/etc/ceph/ceph.conf` | +| `/etc/ceph/ceph.client.admin.keyring` | `/etc/ceph/ceph.client.admin.keyring` | +| `/etc/ceph/ceph.pub` | `/root/.ssh/authorized_keys` (append to anything existing) | Back on the ==master== node, run `ceph orch host add ` once for each other node you want to join to the cluster. You can validate the results by running `ceph orch host ls` diff --git a/manuscript/ha-docker-swarm/shared-storage-gluster.md b/manuscript/ha-docker-swarm/shared-storage-gluster.md index 1cb2f20..a4c9e32 100644 --- a/manuscript/ha-docker-swarm/shared-storage-gluster.md +++ b/manuscript/ha-docker-swarm/shared-storage-gluster.md @@ -31,6 +31,7 @@ To build our Gluster volume, we need 2 out of the 3 VMs to provide one "brick". On each host, run a variation following to create your bricks, adjusted for the path to your disk. !!! note "The example below assumes /dev/vdb is dedicated to the gluster volume" + ``` ( echo o # Create a new empty DOS partition table @@ -58,6 +59,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 \ @@ -71,14 +73,15 @@ docker run \ --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. -From the node, run -```gluster peer probe ``` +From the node, run `gluster peer probe `. Example output: + ``` [root@glusterfs-server /]# gluster peer probe ds1 peer probe: success. @@ -88,6 +91,7 @@ peer probe: success. Run ```gluster peer status``` on both nodes to confirm that they're properly connected to each other: Example output: + ``` [root@glusterfs-server /]# gluster peer status Number of Peers: 1 @@ -102,7 +106,8 @@ State: Peer in Cluster (Connected) Now we create a *replicated volume* out of our individual "bricks". -Create the gluster volume by running +Create the gluster volume by running: + ``` gluster volume create gv0 replica 2 \ server1:/var/no-direct-write-here/brick1 \ @@ -110,6 +115,7 @@ gluster volume create gv0 replica 2 \ ``` Example output: + ``` [root@glusterfs-server /]# gluster volume create gv0 replica 2 ds1:/var/no-direct-write-here/brick1/gv0 ds3:/var/no-direct-write-here/brick1/gv0 volume create: gv0: success: please start the volume to access data @@ -141,7 +147,8 @@ echo "$MYHOST:/gv0 /var/data glusterfs defaults,_netde mount -a ``` -For some reason, my nodes won't auto-mount this volume on boot. I even tried the trickery below, but they stubbornly refuse to automount. +For some reason, my nodes won't auto-mount this volume on boot. I even tried the trickery below, but they stubbornly refuse to automount: + ``` echo -e "\n\n# Give GlusterFS 10s to start before \ mounting\nsleep 10s && mount -a" >> /etc/rc.local diff --git a/manuscript/index.md b/manuscript/index.md index 1d52ade..102c6f6 100644 --- a/manuscript/index.md +++ b/manuscript/index.md @@ -2,7 +2,7 @@ Funky Penguin's "**[Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz)**" is a collection of how-to guides for establishing your own container-based self-hosting platform, using either [Docker Swarm](/ha-docker-swarm/design/) or [Kubernetes](/kubernetes/start/). -Running such a platform enables you to run self-hosted tools such as [AutoPirate](/recipes/autopirate/) (*Radarr, Sonarr, NZBGet and friends*), [Plex][plex], [NextCloud][nextcloud], and includes elements such as: +Running such a platform enables you to run self-hosted tools such as [AutoPirate](/recipes/autopirate/) (*Radarr, Sonarr, NZBGet and friends*), [Plex](https://www.plex.tv/), [NextCloud](https://nextcloud.com/), and includes elements such as: * [Automatic SSL-secured access](/ha-docker-swarm/traefik/) to all services (*with LetsEncrypt*) * [SSO / authentication layer](/ha-docker-swarm/traefik-forward-auth/) to protect unsecured / vulnerable services @@ -15,7 +15,7 @@ Recent updates and additions are posted on the [CHANGELOG](/CHANGELOG/), and the You already have a familiarity with concepts such as virtual machines, [Docker](https://www.docker.com/) containers, [LetsEncrypt SSL certificates](https://letsencrypt.org/), databases, and command-line interfaces. -You've probably played with self-hosting some mainstream apps yourself, like [Plex][plex], [NextCloud][nextcloud], [Wordpress][wordpress] or [Ghost][ghost]. +You've probably played with self-hosting some mainstream apps yourself, like [Plex](https://www.plex.tv/), [NextCloud](https://nextcloud.com/), [Wordpress](https://wordpress.org/) or [Ghost](https://ghost.io/). ## Why should I read this? @@ -36,18 +36,18 @@ Check out recent change at [CHANGELOG](/CHANGELOG/) ## What do you want from me? -I want your [support][github_sponsor], either in the [financial][github_sponsor] sense, or as a member of our [friendly geek community][discord] (*or both!*) +I want your [support](https://github.com/sponsors/funkypenguin), either in the [financial](https://github.com/sponsors/funkypenguin) sense, or as a member of our [friendly geek community](http://chat.funkypenguin.co.nz) (*or both!*) ### Get in touch 👋 -* Come and say hi to me and the friendly geeks in the [Discord][discord] chat or the [Discourse][discourse] forums - say hi, ask a question, or suggest a new recipe! -* Tweet me up, I'm [@funkypenguin][twitter]! 🐦 -* [Contact me][contact] by a variety of channels +* Come and say hi to me and the friendly geeks in the [Discord](http://chat.funkypenguin.co.nz) chat or the [Discourse](https://discourse.geek-kitchen.funkypenguin.co.nz/) forums - say hi, ask a question, or suggest a new recipe! +* Tweet me up, I'm [@funkypenguin](https://twitter.com/funkypenguin)! 🐦 +* [Contact me](https://www.funkypenguin.co.nz/contact/) by a variety of channels -### [Sponsor][github_sponsor] / [Patronize][patreon] me ❤️ +### [Sponsor](https://github.com/sponsors/funkypenguin) / [Patronize](https://www.patreon.com/bePatron?u=6982506) me ❤️ -The best way to support this work is to become a [GitHub Sponsor](https://github.com/sponsors/funkypenguin) / [Patreon patron][patreon]. You get: +The best way to support this work is to become a [GitHub Sponsor](https://github.com/sponsors/funkypenguin) / [Patreon patron](https://www.patreon.com/bePatron?u=6982506). You get: * warm fuzzies, * access to the pre-mix repo, @@ -56,25 +56,13 @@ The best way to support this work is to become a [GitHub Sponsor](https://github .. and I get some pocket money every month to buy wine, cheese, and cryptocurrency! 🍷 💰 -Impulsively **[click here (NOW quick do it!)][github_sponsor]** to [sponsor me][github_sponsor] via GitHub, or [patronize me via Patreon][patreon]! +Impulsively **[click here (NOW quick do it!)](https://github.com/sponsors/funkypenguin)** to [sponsor me](https://github.com/sponsors/funkypenguin) via GitHub, or [patronize me via Patreon](https://www.patreon.com/bePatron?u=6982506)! ### Work with me 🤝 -Need some Cloud / Microservices / DevOps / Infrastructure design work done? I'm a full-time [AWS-certified][aws_cert] consultant, this stuff is my bread and butter! :bread: :fork_and_knife: [Get in touch][contact], and let's talk business! +Need some Cloud / Microservices / DevOps / Infrastructure design work done? I'm a full-time [AWS-certified](https://www.certmetrics.com/amazon/public/badge.aspx?i=4&t=c&d=2019-02-22&ci=AWS00794574) consultant, this stuff is my bread and butter! :bread: :fork_and_knife: [Get in touch](https://www.funkypenguin.co.nz/contact/), and let's talk business! -[plex]: https://www.plex.tv/ -[nextcloud]: https://nextcloud.com/ -[wordpress]: https://wordpress.org/ -[ghost]: https://ghost.io/ -[discord]: http://chat.funkypenguin.co.nz -[patreon]: https://www.patreon.com/bePatron?u=6982506 -[github_sponsor]: https://github.com/sponsors/funkypenguin -[github]: https://github.com/sponsors/funkypenguin -[discourse]: https://discourse.geek-kitchen.funkypenguin.co.nz/ -[twitter]: https://twitter.com/funkypenguin -[contact]: https://www.funkypenguin.co.nz -[aws_cert]: https://www.certmetrics.com/amazon/public/badge.aspx?i=4&t=c&d=2019-02-22&ci=AWS00794574 !!! quote "He unblocked me on all the technical hurdles to launching my SaaS in GKE!" diff --git a/manuscript/recipes/collabora-online.md b/manuscript/recipes/collabora-online.md index 229201c..c2aa6bd 100644 --- a/manuscript/recipes/collabora-online.md +++ b/manuscript/recipes/collabora-online.md @@ -92,7 +92,8 @@ services: ### Create nginx.conf -Create ```/var/data/config/collabora/nginx.conf``` as follows, changing the ```server_name``` value to match the environment variable you established above. +Create ```/var/data/config/collabora/nginx.conf``` as follows, changing the ```server_name``` value to match the environment variable you established above: + ``` upstream collabora-upstream { @@ -142,22 +143,24 @@ server { proxy_set_header Host $http_host; } } + ``` + ### Create loolwsd.xml [Until we understand](https://github.com/CollaboraOnline/Docker-CODE/pull/50) how to [pass trusted network parameters to the entrypoint script using environment variables](https://github.com/CollaboraOnline/Docker-CODE/issues/49), we have to maintain a manually edited version of ```loolwsd.xml```, and bind-mount it into our collabora container. The way we do this is we mount -```/var/data/collabora/loolwsd.xml``` as ```/etc/loolwsd/loolwsd.xml-new```, then allow the container to create its default ```/etc/loolwsd/loolwsd.xml```, copy this default **over** our ```/var/data/collabora/loolwsd.xml``` as ```/etc/loolwsd/loolwsd.xml-new```, and then update the container to use **our** ```/var/data/collabora/loolwsd.xml``` as ```/etc/loolwsd/loolwsd.xml``` instead (_confused yet?_) +`/var/data/collabora/loolwsd.xml` as `/etc/loolwsd/loolwsd.xml-new`, then allow the container to create its default `/etc/loolwsd/loolwsd.xml`, copy this default **over** our `/var/data/collabora/loolwsd.xml` as `/etc/loolwsd/loolwsd.xml-new`, and then update the container to use **our** `/var/data/collabora/loolwsd.xml` as `/etc/loolwsd/loolwsd.xml` instead (_confused yet?_) -Create an empty ```/var/data/collabora/loolwsd.xml``` by running ```touch /var/data/collabora/loolwsd.xml```. We'll populate this in the next section... +Create an empty `/var/data/collabora/loolwsd.xml` by running `touch /var/data/collabora/loolwsd.xml`. We'll populate this in the next section... ### Setup Docker Swarm -Create ```/var/data/config/collabora/collabora.yml``` as follows, changing the traefik frontend_rule as necessary: +Create `/var/data/config/collabora/collabora.yml` as follows, changing the traefik frontend_rule as necessary: !!! 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.0" diff --git a/manuscript/recipes/instapy.md b/manuscript/recipes/instapy.md index c17eab7..3f2aa4d 100644 --- a/manuscript/recipes/instapy.md +++ b/manuscript/recipes/instapy.md @@ -75,6 +75,7 @@ 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 = '' diff --git a/manuscript/reference/networks.md b/manuscript/reference/networks.md index 6719711..878a7d2 100644 --- a/manuscript/reference/networks.md +++ b/manuscript/reference/networks.md @@ -2,55 +2,53 @@ In order to avoid IP addressing conflicts as we bring swarm networks up/down, we will statically address each docker overlay network, and record the details below: -Network | Range ---|-- -[Traefik](https://geek-cookbook.funkypenguin.co.nz/ha-docker-swarm/traefik/) | _unspecified_ -[Docker-cleanup](https://geek-cookbook.funkypenguin.co.nz/ha-docker-swarm/docker-swarm-mode/#setup-automated-cleanup) | 172.16.0.0/24 -[Mail Server](https://geek-cookbook.funkypenguin.co.nz/recipes/mail/) | 172.16.1.0/24 -[Gitlab](https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab/) | 172.16.2.0/24 -[Wekan](https://geek-cookbook.funkypenguin.co.nz/recipes/wekan/) | 172.16.3.0/24 -[Piwik](https://geek-cookbook.funkypenguin.co.nz/recipes/piwik/) | 172.16.4.0/24 -[Tiny Tiny RSS](https://geek-cookbook.funkypenguin.co.nz/recipes/tiny-tiny-rss/) | 172.16.5.0/24 -[Huginn](https://geek-cookbook.funkypenguin.co.nz/recipes/huginn/) | 172.16.6.0/24 -[Unifi](https://geek-cookbook.funkypenguin.co.nz/recipes/unifi/) | 172.16.7.0/24 -[Kanboard](https://geek-cookbook.funkypenguin.co.nz/recipes/kanboard/) | 172.16.8.0/24 -[Gollum](https://geek-cookbook.funkypenguin.co.nz/recipes/gollum/) | 172.16.9.0/24 -[Duplicity](https://geek-cookbook.funkypenguin.co.nz/recipes/duplicity/) | 172.16.10.0/24 -[Autopirate](https://geek-cookbook.funkypenguin.co.nz/recipes/autopirate/) | 172.16.11.0/24 -[Nextcloud](https://geek-cookbook.funkypenguin.co.nz/recipes/nextcloud/) | 172.16.12.0/24 -[Portainer](https://geek-cookbook.funkypenguin.co.nz/recipes/portainer/) | 172.16.13.0/24 -[Home-Assistant](https://geek-cookbook.funkypenguin.co.nz/recipes/home-assistant/) | 172.16.14.0/24 -[OwnTracks](https://geek-cookbook.funkypenguin.co.nz/recipes/owntracks/) | 172.16.15.0/24 -[Plex](https://geek-cookbook.funkypenguin.co.nz/recipes/plex/) | 172.16.16.0/24 -[Emby](https://geek-cookbook.funkypenguin.co.nz/recipes/emby/) | 172.16.17.0/24 -[Calibre-Web](https://geek-cookbook.funkypenguin.co.nz/recipes/calibre-web/) | 172.16.18.0/24 -[Wallabag](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/) | 172.16.19.0/24 -[InstaPy](https://geek-cookbook.funkypenguin.co.nz/recipes/instapy/) | 172.16.20.0/24 -[Turtle Pool](https://geek-cookbook.funkypenguin.co.nz/recipes/turtle-pool/) | 172.16.21.0/24 -[MiniFlux](https://geek-cookbook.funkypenguin.co.nz/recipes/miniflux/) | 172.16.22.0/24 -[Gitlab Runner](https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab-runner/) | 172.16.23.0/24 -[Munin](https://geek-cookbook.funkypenguin.co.nz/recipes/munin/) | 172.16.24.0/24 -[Masari Mining Pool](https://geek-cookbook.funkypenguin.co.nz/recipes/cryptonote-mining-pool/masari/) | 172.16.25.0/24 -[Athena Mining Pool](https://geek-cookbook.funkypenguin.co.nz/recipes/cryptonote-mining-pool/athena/) | 172.16.26.0/24 -[Bookstack](https://geek-cookbook.funkypenguin.co.nz/recipes/bookstack/) | 172.16.33.0/24 -[Swarmprom](https://geek-cookbook.funkypenguin.co.nz/recipes/swarmprom/) | 172.16.34.0/24 -[Realms](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.35.0/24 -[ElkarBackup](https://geek-cookbook.funkypenguin.co.nz/recipes/elkarbackp/) | 172.16.36.0/24 -[Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.37.0/24 -[Shaarli](https://geek-cookbook.funkypenguin.co.nz/recipes/shaarli/) | 172.16.38.0/24 -[OpenLDAP](https://geek-cookbook.funkypenguin.co.nz/recipes/openldap/) | 172.16.39.0/24 -[MatterMost](https://geek-cookbook.funkypenguin.co.nz/recipes/mattermost/) | 172.16.40.0/24 -[PrivateBin](https://geek-cookbook.funkypenguin.co.nz/recipes/privatebin/) | 172.16.41.0/24 -[Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipes/mayan-edms/) | 172.16.42.0/24 -[Hack MD](https://geek-cookbook.funkypenguin.co.nz/recipes/hackmd/) | 172.16.43.0/24 -[FlightAirMap](https://geek-cookbook.funkypenguin.co.nz/recipes/flightairmap/) |172.16.44.0/24 -[Wetty](https://geek-cookbook.funkypenguin.co.nz/recipes/wetty/) | 172.16.45.0/24 -[FileBrowser](https://geek-cookbook.funkypenguin.co.nz/recipes/filebrowser/) | 172.16.46.0/24 -[phpIPAM](https://geek-cookbook.funkypenguin.co.nz/recipes/phpipam/) | 172.16.47.0/24 -[Dozzle](https://geek-cookbook.funkypenguin.co.nz/recipes/dozzle/) | 172.16.48.0/24 -[KeyCloak](https://geek-cookbook.funkypenguin.co.nz/recipes/keycloak/) | 172.16.49.0/24 -[Sensu](https://geek-cookbook.funkypenguin.co.nz/recipes/sensu/) | 172.16.50.0/24 -[Magento](https://geek-cookbook.funkypenguin.co.nz/recipes/magento/) | 172.16.51.0/24 -[Graylog](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.52.0/24 -[Harbor](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.53.0/24 -[Harbor-Clair](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.54.0/24 \ No newline at end of file +| Network | Range | +|-----------------------------------------------------------------------------------------------------------------------|----------------| +| [Traefik](https://geek-cookbook.funkypenguin.co.nz/ha-docker-swarm/traefik/) | _unspecified_ | +| [Docker-cleanup](https://geek-cookbook.funkypenguin.co.nz/ha-docker-swarm/docker-swarm-mode/#setup-automated-cleanup) | 172.16.0.0/24 | +| [Mail Server](https://geek-cookbook.funkypenguin.co.nz/recipes/mail/) | 172.16.1.0/24 | +| [Gitlab](https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab/) | 172.16.2.0/24 | +| [Wekan](https://geek-cookbook.funkypenguin.co.nz/recipes/wekan/) | 172.16.3.0/24 | +| [Piwik](https://geek-cookbook.funkypenguin.co.nz/recipes/piwik/) | 172.16.4.0/24 | +| [Tiny Tiny RSS](https://geek-cookbook.funkypenguin.co.nz/recipes/tiny-tiny-rss/) | 172.16.5.0/24 | +| [Huginn](https://geek-cookbook.funkypenguin.co.nz/recipes/huginn/) | 172.16.6.0/24 | +| [Unifi](https://geek-cookbook.funkypenguin.co.nz/recipes/unifi/) | 172.16.7.0/24 | +| [Kanboard](https://geek-cookbook.funkypenguin.co.nz/recipes/kanboard/) | 172.16.8.0/24 | +| [Gollum](https://geek-cookbook.funkypenguin.co.nz/recipes/gollum/) | 172.16.9.0/24 | +| [Duplicity](https://geek-cookbook.funkypenguin.co.nz/recipes/duplicity/) | 172.16.10.0/24 | +| [Autopirate](https://geek-cookbook.funkypenguin.co.nz/recipes/autopirate/) | 172.16.11.0/24 | +| [Nextcloud](https://geek-cookbook.funkypenguin.co.nz/recipes/nextcloud/) | 172.16.12.0/24 | +| [Portainer](https://geek-cookbook.funkypenguin.co.nz/recipes/portainer/) | 172.16.13.0/24 | +| [Home-Assistant](https://geek-cookbook.funkypenguin.co.nz/recipes/home-assistant/) | 172.16.14.0/24 | +| [OwnTracks](https://geek-cookbook.funkypenguin.co.nz/recipes/owntracks/) | 172.16.15.0/24 | +| [Plex](https://geek-cookbook.funkypenguin.co.nz/recipes/plex/) | 172.16.16.0/24 | +| [Emby](https://geek-cookbook.funkypenguin.co.nz/recipes/emby/) | 172.16.17.0/24 | +| [Calibre-Web](https://geek-cookbook.funkypenguin.co.nz/recipes/calibre-web/) | 172.16.18.0/24 | +| [Wallabag](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/) | 172.16.19.0/24 | +| [InstaPy](https://geek-cookbook.funkypenguin.co.nz/recipes/instapy/) | 172.16.20.0/24 | +| [Turtle Pool](https://geek-cookbook.funkypenguin.co.nz/recipes/turtle-pool/) | 172.16.21.0/24 | +| [MiniFlux](https://geek-cookbook.funkypenguin.co.nz/recipes/miniflux/) | 172.16.22.0/24 | +| [Gitlab Runner](https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab-runner/) | 172.16.23.0/24 | +| [Munin](https://geek-cookbook.funkypenguin.co.nz/recipes/munin/) | 172.16.24.0/24 | +| [Bookstack](https://geek-cookbook.funkypenguin.co.nz/recipes/bookstack/) | 172.16.33.0/24 | +| [Swarmprom](https://geek-cookbook.funkypenguin.co.nz/recipes/swarmprom/) | 172.16.34.0/24 | +| [Realms](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.35.0/24 | +| [ElkarBackup](https://geek-cookbook.funkypenguin.co.nz/recipes/elkarbackp/) | 172.16.36.0/24 | +| [Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.37.0/24 | +| [Shaarli](https://geek-cookbook.funkypenguin.co.nz/recipes/shaarli/) | 172.16.38.0/24 | +| [OpenLDAP](https://geek-cookbook.funkypenguin.co.nz/recipes/openldap/) | 172.16.39.0/24 | +| [MatterMost](https://geek-cookbook.funkypenguin.co.nz/recipes/mattermost/) | 172.16.40.0/24 | +| [PrivateBin](https://geek-cookbook.funkypenguin.co.nz/recipes/privatebin/) | 172.16.41.0/24 | +| [Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipes/mayan-edms/) | 172.16.42.0/24 | +| [Hack MD](https://geek-cookbook.funkypenguin.co.nz/recipes/hackmd/) | 172.16.43.0/24 | +| [FlightAirMap](https://geek-cookbook.funkypenguin.co.nz/recipes/flightairmap/) | 172.16.44.0/24 | +| [Wetty](https://geek-cookbook.funkypenguin.co.nz/recipes/wetty/) | 172.16.45.0/24 | +| [FileBrowser](https://geek-cookbook.funkypenguin.co.nz/recipes/filebrowser/) | 172.16.46.0/24 | +| [phpIPAM](https://geek-cookbook.funkypenguin.co.nz/recipes/phpipam/) | 172.16.47.0/24 | +| [Dozzle](https://geek-cookbook.funkypenguin.co.nz/recipes/dozzle/) | 172.16.48.0/24 | +| [KeyCloak](https://geek-cookbook.funkypenguin.co.nz/recipes/keycloak/) | 172.16.49.0/24 | +| [Sensu](https://geek-cookbook.funkypenguin.co.nz/recipes/sensu/) | 172.16.50.0/24 | +| [Magento](https://geek-cookbook.funkypenguin.co.nz/recipes/magento/) | 172.16.51.0/24 | +| [Graylog](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.52.0/24 | +| [Harbor](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.53.0/24 | +| [Harbor-Clair](https://geek-cookbook.funkypenguin.co.nz/recipes/graylog/) | 172.16.54.0/24 | \ No newline at end of file diff --git a/scripts/markdown-to-markua.sh b/scripts/markdown-to-markua.sh index 5a8479e..e51222a 100755 --- a/scripts/markdown-to-markua.sh +++ b/scripts/markdown-to-markua.sh @@ -5,10 +5,22 @@ do echo "Processing $file..." # Markua doesn't know what to do with 4 backticks (````), so convert to 3: - sed -ie "s/\`\`\`\`/\`\`\`/g" $file + sed -i "s/\`\`\`\`/\`\`\`/g" $file # Can't use relative paths in a book, so make all paths static - sed -ie 's/(\//(https:\/\/geek-cookbook.funkypenguin.co.nz\/)/g' $file + sed -i 's/](\//\](https:\/\/geek-cookbook.funkypenguin.co.nz\//g' $file + + # GitHub emojis look beautiful but don't render nicely + sed -i 's/:[a-z\ ]://g' $file + + # Animated gifs make leanpub fail, so strip 'em out by deleting the entire line + sed -i '/.gif/d' $file + + # Strip out mkdocs admonitions + sed -i '/!!!/d' $file + + # Change highlights to bold underlines + sed -iE 's/==(.*)==/___\1___/' $file # strip emojis tr -cd '\11\12\15\40-\176' < $file > $file-clean