1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-13 01:36:23 +00:00

Correct spelling of recipes once and for all

This commit is contained in:
David Young
2018-11-22 22:22:17 +13:00
parent 09fb52f3d4
commit 1d64d39e01
90 changed files with 1593 additions and 505 deletions

View File

@@ -9,15 +9,15 @@
## Recently added recipes ## Recently added recipes
* Added [Wetty](/recipies/wetty/), a remote terminal client in your web browser (_22 Nov 2018_) * Added [Wetty](/recipes/wetty/), a remote terminal client in your web browser (_22 Nov 2018_)
* Added [PrivateBin](/recipies/privatebin/), a self-hosted pastebin alternative (_5 Nov 2018_) * Added [PrivateBin](/recipes/privatebin/), a self-hosted pastebin alternative (_5 Nov 2018_)
* Added [Realms](/recipies/realms/), another git-based wiki, like [Gollum](/recipies/gollum/), but including basic user auth and registration * Added [Realms](/recipes/realms/), another git-based wiki, like [Gollum](/recipes/gollum/), but including basic user auth and registration
* Added a list of useful funkypenguin Docker [containers](/reference/containers/) (_7 Oct 2018_) * Added a list of useful funkypenguin Docker [containers](/reference/containers/) (_7 Oct 2018_)
* Added [Swarmprom](/recipies/swarmprom/), the sexiest way visualise detailed performance metrics from your swarm (_17 Sep 2018_) * Added [Swarmprom](/recipes/swarmprom/), the sexiest way visualise detailed performance metrics from your swarm (_17 Sep 2018_)
## Recent improvements ## Recent improvements
* [Autopirate](/recipies/autopirate/start/) uber-recipe updated for [Heimdall](/recipies/autopirate/heimdall/) (_an application-launching dashboard with support for inline stats from supported applications_) (_7 Oct 2018_) * [Autopirate](/recipes/autopirate/start/) uber-recipe updated for [Heimdall](/recipes/autopirate/heimdall/) (_an application-launching dashboard with support for inline stats from supported applications_) (_7 Oct 2018_)
* [Autopirate](/recipies/autopirate/start/) uber-recipe updated for [Lidarr](/recipies/autopirate/lidarr/) (_like Sonarr/Radarr for music, an alternative to Headphones_) (_19 Sep 2018_) * [Autopirate](/recipes/autopirate/start/) uber-recipe updated for [Lidarr](/recipes/autopirate/lidarr/) (_like Sonarr/Radarr for music, an alternative to Headphones_) (_19 Sep 2018_)
* [GitLab](/recipies/gitlab/) recipe updated with missing env variables, brought up to scratch with more recent design conventions (_14 Jun 2018_) * [GitLab](/recipes/gitlab/) recipe updated with missing env variables, brought up to scratch with more recent design conventions (_14 Jun 2018_)
* [SABnzbd](/recipies/autopirate/sabnzbd/) component of [autopirate](/recipies/autopirate/start/) recipe updated for new hostname validation check in recent version (_10 Jun 2018_) * [SABnzbd](/recipes/autopirate/sabnzbd/) component of [autopirate](/recipes/autopirate/start/) recipe updated for new hostname validation check in recent version (_10 Jun 2018_)

View File

@@ -14,19 +14,19 @@ ha-docker-swarm/traefik.md
ha-docker-swarm/docker-swarm-mode.md ha-docker-swarm/docker-swarm-mode.md
ha-docker-swarm/duplicity.md ha-docker-swarm/duplicity.md
sections/recipies.md sections/recipes.md
recipies/mail.md recipes/mail.md
recipies/gitlab.md recipes/gitlab.md
recipies/gitlab-runner.md recipes/gitlab-runner.md
recipies/wekan.md recipes/wekan.md
recipies/huginn.md recipes/huginn.md
recipies/kanboard.md recipes/kanboard.md
recipies/miniflux.md recipes/miniflux.md
recipies/ghost.md recipes/ghost.md
recipies/piwik.md recipes/piwik.md
recipies/autopirate.md recipes/autopirate.md
recipies/nextcloud.md recipes/nextcloud.md
recipies/portainer.md recipes/portainer.md
sections/reference.md sections/reference.md
reference/oauth_proxy.md reference/oauth_proxy.md

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

View File

@@ -1,6 +1,6 @@
# What is this? # What is this?
The "**[Geek's Cookbook](https://geek-cookbook.funkypenguin.co.nz)**" is a collection of guides for establishing your own highly-available docker container cluster (swarm). This swarm enables you to run self-hosted services such as [GitLab](/recipies/gitlab/), [Plex](/recipies/plex/), [NextCloud](/recipies/nextcloud/), etc. Recent updates and additions are posted on the [CHANGELOG](/CHANGELOG/). The "**[Geek's Cookbook](https://geek-cookbook.funkypenguin.co.nz)**" is a collection of guides for establishing your own highly-available docker container cluster (swarm). This swarm enables you to run self-hosted services such as [GitLab](/recipes/gitlab/), [Plex](/recipes/plex/), [NextCloud](/recipes/nextcloud/), etc. Recent updates and additions are posted on the [CHANGELOG](/CHANGELOG/).
## Who is this for? ## Who is this for?

View File

@@ -24,7 +24,7 @@ Tools included in the AutoPirate stack are:
* **[Mylar](https://github.com/evilhero/mylar)** : finds, downloads and manages comic books * **[Mylar](https://github.com/evilhero/mylar)** : finds, downloads and manages comic books
* **[Headphones](https://github.com/rembo10/headphones)** : finds, downloads and manages music * **[Headphones](https://github.com/rembo10/headphones)** : finds, downloads and manages music
* **[Lazy Librarian](https://github.com/itsmegb/LazyLibrarian)** : finds, downloads and manages ebooks * **[Lazy Librarian](https://github.com/itsmegb/LazyLibrarian)** : finds, downloads and manages ebooks
* **[Ombi](https://github.com/tidusjar/Ombi)** : provides an interface to request additions to a [Plex](/recipies/plex/)/[Emby](/recipies/emby/) library using the above tools * **[Ombi](https://github.com/tidusjar/Ombi)** : provides an interface to request additions to a [Plex](/recipes/plex/)/[Emby](/recipes/emby/) library using the above tools
* **[Jackett](https://github.com/Jackett/Jackett)** : Provides an local, caching, API-based interface to torrent trackers, simplifying the way your tools search for torrents. * **[Jackett](https://github.com/Jackett/Jackett)** : Provides an local, caching, API-based interface to torrent trackers, simplifying the way your tools search for torrents.
Since this recipe is so long, and so many of the tools are optional to the final result (_i.e., if you're not interested in comics, you won't want Mylar_), I've described each individual tool on its own sub-recipe page (_below_), even though most of them are deployed very similarly. Since this recipe is so long, and so many of the tools are optional to the final result (_i.e., if you're not interested in comics, you won't want Mylar_), I've described each individual tool on its own sub-recipe page (_below_), even though most of them are deployed very similarly.
@@ -111,19 +111,19 @@ networks:
Now work your way through the list of tools below, adding whichever tools your want to use, and finishing with the **end** section: Now work your way through the list of tools below, adding whichever tools your want to use, and finishing with the **end** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
### Tip your waiter (donate) 👏 ### Tip your waiter (donate) 👏

View File

@@ -1,5 +1,5 @@
!!! warning !!! warning
This is not a complete recipe - it's the conclusion to the [AutoPirate](/recipies/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's the conclusion to the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
### Launch Autopirate stack ### Launch Autopirate stack

View File

@@ -1,7 +1,7 @@
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 !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Headphones # Headphones
@@ -11,7 +11,7 @@ hero: AutoPirate - A fully-featured recipe to automate finding, downloading, and
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Headphones in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Headphones in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
headphones: headphones:
@@ -51,23 +51,23 @@ headphones_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](https://github.com/evilhero/mylar) * [Mylar](https://github.com/evilhero/mylar)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* Headphones (this page) * Headphones (this page)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Heimdall # Heimdall
@@ -7,13 +7,13 @@
Heimdall is an elegant solution to organise all your web applications. Its dedicated to this purpose so you wont lose your links in a sea of bookmarks. Heimdall is an elegant solution to organise all your web applications. Its dedicated to this purpose so you wont lose your links in a sea of bookmarks.
Heimdall provides a single URL to manage access to all of your autopirate tools, and includes "enhanced" (_i.e., display stats within Heimdall without launching the app_) access to [NZBGet](/recipies/autopirate/nzbget.md), [SABnzbd](/recipies/autopirate/sabnzbd/), and friends. Heimdall provides a single URL to manage access to all of your autopirate tools, and includes "enhanced" (_i.e., display stats within Heimdall without launching the app_) access to [NZBGet](/recipes/autopirate/nzbget.md), [SABnzbd](/recipes/autopirate/sabnzbd/), and friends.
![Heimdall Screenshot](../../images/heimdall.jpg) ![Heimdall Screenshot](../../images/heimdall.jpg)
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Heimdall in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Heimdall in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
heimdall: heimdall:
@@ -57,23 +57,23 @@ To include Heimdall in your [AutoPirate](/recipies/autopirate/) stack, include t
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylarr/) * [Mylar](/recipes/autopirate/mylarr/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones) * [Headphones](/recipes/autopirate/headphones)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* Heimdall (this page) * Heimdall (this page)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Jackett # Jackett
@@ -11,7 +11,7 @@ This allows for getting recent uploads (like RSS) and performing searches. Jacke
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Jackett in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Jackett in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
jackett: jackett:
@@ -51,23 +51,23 @@ jackett_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylarr/) * [Mylar](/recipes/autopirate/mylarr/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones) * [Headphones](/recipes/autopirate/headphones)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* Jackett (this page) * Jackett (this page)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# LazyLibrarian # LazyLibrarian
@@ -15,7 +15,7 @@
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include LazyLibrarian in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include LazyLibrarian in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
lazylibrarian: lazylibrarian:
@@ -63,28 +63,28 @@ calibre-server:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](https://github.com/evilhero/mylar) * [Mylar](https://github.com/evilhero/mylar)
* Lazy Librarian (this page) * Lazy Librarian (this page)
* [Headphones](/recipies/autopirate/headphones) * [Headphones](/recipes/autopirate/headphones)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓
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. 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](/recipes/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. 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) 👏

View File

@@ -1,17 +1,17 @@
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 !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Lidarr # Lidarr
[Lidarr](https://lidarr.audio/) is an automated music downloader for NZB and Torrent. It performs the same function as [Headphones](/recipies/autopirate/headphones), but is written using the same(ish) codebase as [Radarr](/recipies/autopirate/radarr/) and [Sonarr](/recipies/autopirate/sonarr). It's blazingly fast, and includes beautiful album/artist art. Lidarr supports [SABnzbd](/recipies/autopirate/sabnzbd/), [NZBGet](/recipies/autopirate/nzbget/), Transmission, µTorrent, Deluge and Blackhole (_just like Sonarr / Radarr_) [Lidarr](https://lidarr.audio/) is an automated music downloader for NZB and Torrent. It performs the same function as [Headphones](/recipes/autopirate/headphones), but is written using the same(ish) codebase as [Radarr](/recipes/autopirate/radarr/) and [Sonarr](/recipes/autopirate/sonarr). It's blazingly fast, and includes beautiful album/artist art. Lidarr supports [SABnzbd](/recipes/autopirate/sabnzbd/), [NZBGet](/recipes/autopirate/nzbget/), Transmission, µTorrent, Deluge and Blackhole (_just like Sonarr / Radarr_)
![Lidarr Screenshot](../../images/lidarr.png) ![Lidarr Screenshot](../../images/lidarr.png)
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Lidarr in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Lidarr in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
lidarr: lidarr:
@@ -51,24 +51,24 @@ lidarr_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](https://github.com/evilhero/mylar) * [Mylar](https://github.com/evilhero/mylar)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* Lidarr (this page) * Lidarr (this page)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [autopirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Mylar # Mylar
@@ -9,7 +9,7 @@
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Mylar in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Mylar in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
mylar: mylar:
@@ -49,23 +49,23 @@ mylar_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* Mylar (this page) * Mylar (this page)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones) * [Headphones](/recipes/autopirate/headphones)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,18 +1,18 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# NZBGet # NZBGet
## Introduction ## Introduction
NZBGet performs the same function as [SABnzbd](/recipies/autopirate/sabnzbd.md) (_downloading content from Usenet servers_), but it's lightweight and fast(er), written in C++ (_as opposed to Python_). NZBGet performs the same function as [SABnzbd](/recipes/autopirate/sabnzbd.md) (_downloading content from Usenet servers_), but it's lightweight and fast(er), written in C++ (_as opposed to Python_).
![NZBGet Screenshot](../../images/nzbget.jpg) ![NZBGet Screenshot](../../images/nzbget.jpg)
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include NZBGet in your [AutoPirate](/recipies/autopirate/) stack To include NZBGet in your [AutoPirate](/recipes/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: (_The only reason you **wouldn't** use NZBGet, would be if you were using [SABnzbd](/recipes/autopirate/sabnzbd/) instead_), include the following in your autopirate.yml stack definition file:
!!! tip !!! 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``` 👍
@@ -56,23 +56,23 @@ nzbget_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* NZBGet (this page) * NZBGet (this page)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# NZBHydra # NZBHydra
@@ -16,7 +16,7 @@
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include NZBHydra in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include NZBHydra in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
nzbhydra: nzbhydra:
@@ -55,23 +55,23 @@ nzbhydra_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* NZBHydra (this page) * NZBHydra (this page)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# NZBHydra 2 # NZBHydra 2
@@ -7,22 +7,22 @@
[NZBHydra 2](https://github.com/theotherp/nzbhydra2) is a meta search for NZB indexers. It provides easy access to a number of raw and newznab based indexers. You can search all your indexers from one place and use it as an indexer source for tools like Sonarr, Radarr or CouchPotato. [NZBHydra 2](https://github.com/theotherp/nzbhydra2) is a meta search for NZB indexers. It provides easy access to a number of raw and newznab based indexers. You can search all your indexers from one place and use it as an indexer source for tools like Sonarr, Radarr or CouchPotato.
!!! note !!! note
NZBHydra 2 is a complete rewrite of [NZBHydra (1)](/recipies/autopirate/nzbhybra/). It's currently in Beta. It works mostly fine but some functions might not be completely done and incompatibilities with some tools might still exist. You might want to run both in parallel for migration / testing purposes, but ultimately you'll probably want to switch over to NZBHydra 2 exclusively. NZBHydra 2 is a complete rewrite of [NZBHydra (1)](/recipes/autopirate/nzbhybra/). It's currently in Beta. It works mostly fine but some functions might not be completely done and incompatibilities with some tools might still exist. You might want to run both in parallel for migration / testing purposes, but ultimately you'll probably want to switch over to NZBHydra 2 exclusively.
![NZBHydra Screenshot](../../images/nzbhydra2.png) ![NZBHydra Screenshot](../../images/nzbhydra2.png)
Features include: Features include:
* Searches Anizb, BinSearch, NZBIndex and any newznab compatible indexers. Merges all results, filters them by a number of configurable restrictions, recognizes duplicates and returns them all in one place * Searches Anizb, BinSearch, NZBIndex and any newznab compatible indexers. Merges all results, filters them by a number of configurable restrictions, recognizes duplicates and returns them all in one place
* Add results to [NZBGet](/recipies/autopirate/nzbget/) or [SABnzbd](/recipies/autopirate/sabnzbd/) * Add results to [NZBGet](/recipes/autopirate/nzbget/) or [SABnzbd](/recipes/autopirate/sabnzbd/)
* Support for all relevant media IDs (IMDB, TMDB, TVDB, TVRage, TVMaze) and conversion between them * Support for all relevant media IDs (IMDB, TMDB, TVDB, TVRage, TVMaze) and conversion between them
* Query generation, meaning a query will be generated if only a media ID is provided in the search and the indexer doesn't support the ID or if no results were found * Query generation, meaning a query will be generated if only a media ID is provided in the search and the indexer doesn't support the ID or if no results were found
* Compatible with [Sonarr](/recipies/autopirate/sonarr/), [Radarr](/recipies/autopirate/radarr/), [NZBGet](/recipies/autopirate/nzbget.md), [SABnzbd](/recipies/autopirate/sabnzbd/), nzb360, CouchPotato, [Mylar](/recipies/autopirate/mylar/), [Lazy Librarian](/recipies/autopirate/lazylibrarian/), Sick Beard, [Jackett/Cardigann](/recipies/autopirate/jackett/), Watcher, etc. * Compatible with [Sonarr](/recipes/autopirate/sonarr/), [Radarr](/recipes/autopirate/radarr/), [NZBGet](/recipes/autopirate/nzbget.md), [SABnzbd](/recipes/autopirate/sabnzbd/), nzb360, CouchPotato, [Mylar](/recipes/autopirate/mylar/), [Lazy Librarian](/recipes/autopirate/lazylibrarian/), Sick Beard, [Jackett/Cardigann](/recipes/autopirate/jackett/), Watcher, etc.
* Search and download history and extensive stats. E.g. indexer response times, download shares, NZB age, etc. * Search and download history and extensive stats. E.g. indexer response times, download shares, NZB age, etc.
* Authentication and multi-user support * Authentication and multi-user support
* Automatic update of NZB download status by querying configured downloaders * Automatic update of NZB download status by querying configured downloaders
* RSS support with configurable cache times * RSS support with configurable cache times
* Torrent support (_Although I prefer [Jackett](/recipies/autopirate/jackett/) for this_): * Torrent support (_Although I prefer [Jackett](/recipes/autopirate/jackett/) for this_):
* For GUI searches, allowing you to download torrents to a blackhole folder * For GUI searches, allowing you to download torrents to a blackhole folder
* A separate Torznab compatible endpoint for API requests, allowing you to merge multiple trackers * A separate Torznab compatible endpoint for API requests, allowing you to merge multiple trackers
* Extensive configurability * Extensive configurability
@@ -31,7 +31,7 @@ Features include:
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include NZBHydra2 in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include NZBHydra2 in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
nzbhydra2: nzbhydra2:
@@ -70,23 +70,23 @@ nzbhydra2_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* NZBHydra2 (this page) * NZBHydra2 (this page)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,9 +1,9 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Ombi # Ombi
[Ombi](https://github.com/tidusjar/Ombi) is a useful addition to the [autopirate](/recipies/autopirate/) stack. Features include: [Ombi](https://github.com/tidusjar/Ombi) is a useful addition to the [autopirate](/recipes/autopirate/) stack. Features include:
* Lets users request Movies and TV Shows (_whether it being the entire series, an entire season, or even single episodes._) * Lets users request Movies and TV Shows (_whether it being the entire series, an entire season, or even single episodes._)
* Easily manage your requests * Easily manage your requests
@@ -17,7 +17,7 @@ Automatically updates the status of requests when they are available on Plex/Emb
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Ombi in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Ombi in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
ombi: ombi:
@@ -56,23 +56,23 @@ ombi_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* Ombi (this page) * Ombi (this page)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Radarr # Radarr
@@ -27,7 +27,7 @@
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Radarr in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Radarr in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
radarr: radarr:
@@ -67,23 +67,23 @@ radarr_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* Radarr (this page) * Radarr (this page)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# RTorrent / ruTorrent # RTorrent / ruTorrent
@@ -13,7 +13,7 @@ When using a torrent client from behind NAT (_which swarm, by nature, is_), you
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include ruTorrent in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include ruTorrent in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
``` ```
rtorrent: rtorrent:
@@ -56,23 +56,23 @@ rtorrent_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* RTorrent (this page) * RTorrent (this page)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,11 +1,11 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# SABnzbd # SABnzbd
## Introduction ## Introduction
SABnzbd is the workhorse of the stack. It takes .nzb files as input (_manually or from other [autopirate](/recipies/autopirate/) stack tools_), then connects to your chosen Usenet provider, downloads all the individual binaries referenced by the .nzb, and then tests/repairs/combines/uncompresses them all into the final result - media files. SABnzbd is the workhorse of the stack. It takes .nzb files as input (_manually or from other [autopirate](/recipes/autopirate/) stack tools_), then connects to your chosen Usenet provider, downloads all the individual binaries referenced by the .nzb, and then tests/repairs/combines/uncompresses them all into the final result - media files.
![SABNZBD Screenshot](../../images/sabnzbd.png) ![SABNZBD Screenshot](../../images/sabnzbd.png)
@@ -14,8 +14,8 @@ SABnzbd is the workhorse of the stack. It takes .nzb files as input (_manually o
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include SABnzbd in your [AutoPirate](/recipies/autopirate/) stack To include SABnzbd in your [AutoPirate](/recipes/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: (_The only reason you **wouldn't** use SABnzbd, would be if you were using [NZBGet](/recipes/autopirate/nzbget.md) instead_), include the following in your autopirate.yml stack definition file:
!!! tip !!! 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``` 👍
@@ -63,23 +63,23 @@ sabnzbd_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* SABnzbd (this page) * SABnzbd (this page)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* [Sonarr](/recipies/autopirate/sonarr/) * [Sonarr](/recipes/autopirate/sonarr/)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -1,5 +1,5 @@
!!! warning !!! 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. This is not a complete recipe - it's a component of the [AutoPirate](/recipes/autopirate/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Sonarr # Sonarr
@@ -13,7 +13,7 @@
## Inclusion into AutoPirate ## Inclusion into AutoPirate
To include Sonarr in your [AutoPirate](/recipies/autopirate/) stack, include the following in your autopirate.yml stack definition file: To include Sonarr in your [AutoPirate](/recipes/autopirate/) stack, include the following in your autopirate.yml stack definition file:
```` ````
sonarr: sonarr:
@@ -53,23 +53,23 @@ sonarr_proxy:
## Assemble more tools.. ## Assemble more tools..
Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipies/autopirate/end/)** section: Continue through the list of tools below, adding whichever tools your want to use, and finishing with the **[end](/recipes/autopirate/end/)** section:
* [SABnzbd](/recipies/autopirate/sabnzbd.md) * [SABnzbd](/recipes/autopirate/sabnzbd.md)
* [NZBGet](/recipies/autopirate/nzbget.md) * [NZBGet](/recipes/autopirate/nzbget.md)
* [RTorrent](/recipies/autopirate/rtorrent/) * [RTorrent](/recipes/autopirate/rtorrent/)
* Sonarr (this page) * Sonarr (this page)
* [Radarr](/recipies/autopirate/radarr/) * [Radarr](/recipes/autopirate/radarr/)
* [Mylar](/recipies/autopirate/mylar/) * [Mylar](/recipes/autopirate/mylar/)
* [Lazy Librarian](/recipies/autopirate/lazylibrarian/) * [Lazy Librarian](/recipes/autopirate/lazylibrarian/)
* [Headphones](/recipies/autopirate/headphones/) * [Headphones](/recipes/autopirate/headphones/)
* [Lidarr](/recipies/autopirate/lidarr/) * [Lidarr](/recipes/autopirate/lidarr/)
* [NZBHydra](/recipies/autopirate/nzbhydra/) * [NZBHydra](/recipes/autopirate/nzbhydra/)
* [NZBHydra2](/recipies/autopirate/nzbhydra2/) * [NZBHydra2](/recipes/autopirate/nzbhydra2/)
* [Ombi](/recipies/autopirate/ombi/) * [Ombi](/recipes/autopirate/ombi/)
* [Jackett](/recipies/autopirate/jackett/) * [Jackett](/recipes/autopirate/jackett/)
* [Heimdall](/recipies/autopirate/heimdall/) * [Heimdall](/recipes/autopirate/heimdall/)
* [End](/recipies/autopirate/end/) (launch the stack) * [End](/recipes/autopirate/end/) (launch the stack)
## Chef's Notes 📓 ## Chef's Notes 📓

View File

@@ -4,7 +4,7 @@ hero: Heroic Hero
BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information.
A friendly middle ground between heavyweights like MediaWiki or Confluence and [Gollum](/recipies/gollum/), BookStack relies on a database backend (so searching and versioning is easy), but limits itself to a pre-defined, 3-tier structure (book, chapter, page). The result is a lightweight, approachable personal documentation stack, which includes search and Markdown editing. A friendly middle ground between heavyweights like MediaWiki or Confluence and [Gollum](/recipes/gollum/), BookStack relies on a database backend (so searching and versioning is easy), but limits itself to a pre-defined, 3-tier structure (book, chapter, page). The result is a lightweight, approachable personal documentation stack, which includes search and Markdown editing.
![BookStack Screenshot](../images/bookstack.png) ![BookStack Screenshot](../images/bookstack.png)

View File

@@ -2,9 +2,9 @@ hero: Manage your ebook collection. Like a BOSS.
# Calibre-Web # Calibre-Web
The [AutoPirate](/recipies/autopirate/) recipe includes [Lazy Librarian](https://github.com/itsmegb/LazyLibrarian), a tool for tracking, finding, and downloading eBooks. However, after the eBooks are downloaded, Lazy Librarian is not much use for organising, tracking, and actually **reading** them. The [AutoPirate](/recipes/autopirate/) recipe includes [Lazy Librarian](https://github.com/itsmegb/LazyLibrarian), a tool for tracking, finding, and downloading eBooks. However, after the eBooks are downloaded, Lazy Librarian is not much use for organising, tracking, and actually **reading** them.
[Calibre-Web](https://github.com/janeczku/calibre-web) could be described as "_[Plex](/recipies/plex/) (or [Emby](/recipies/emby/)) for eBooks_" - it's a web-based interface to manage your eBook library, screenshot below: [Calibre-Web](https://github.com/janeczku/calibre-web) could be described as "_[Plex](/recipes/plex/) (or [Emby](/recipes/emby/)) for eBooks_" - it's a web-based interface to manage your eBook library, screenshot below:
![Calibre-Web Screenshot](../images/calibre-web.png) ![Calibre-Web Screenshot](../images/calibre-web.png)
@@ -125,7 +125,7 @@ Log into your new instance at https://**YOUR-FQDN**. You'll be directed to the i
## Chef's Notes ## Chef's Notes
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_) 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. 2. A future enhancement might be integrating this recipe with the filestore for [NextCloud](/recipes/nextcloud/), so that the desktop database (Calibre) can be kept synced with Calibre-Web.
### Tip your waiter (donate) 👏 ### Tip your waiter (donate) 👏

View File

@@ -6,7 +6,7 @@ This is a diversion from my usual recipes - recently I've become interested in c
I honestly didn't expect to enjoy the mining process as much as I did. Part of the enjoyment was getting my hands dirty with hardware. I honestly didn't expect to enjoy the mining process as much as I did. Part of the enjoyment was getting my hands dirty with hardware.
Since a [mining rig](/recipies/cryptominer/mining-rig/) relies on hardware, we can't really use a docker swarm for this one! Since a [mining rig](/recipes/cryptominer/mining-rig/) relies on hardware, we can't really use a docker swarm for this one!
![NAME Screenshot](../images/cryptominer.png) ![NAME Screenshot](../images/cryptominer.png)
@@ -14,22 +14,22 @@ This recipe isn't for everyone - if you just want to make some money from crypto
## Ingredients ## Ingredients
1. Suitable system guts (_CPU, motherboard, RAM, PSU_) for your [mining rig](/recipies/cryptominer/mining-rig/) 1. Suitable system guts (_CPU, motherboard, RAM, PSU_) for your [mining rig](/recipes/cryptominer/mining-rig/)
2. [AMD](/recipies/cryptominer/amd-gpu/) / [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs (_yes, plural, since although you **can** start with just one, you'll soon get hooked!_) 2. [AMD](/recipes/cryptominer/amd-gpu/) / [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs (_yes, plural, since although you **can** start with just one, you'll soon get hooked!_)
3. A friendly operating system ([Ubuntu](https://www.ubuntu.com/)/[Debian](https://www.debian.org/)/[CentOS7](https://www.centos.org/download/)) are known to work 3. A friendly operating system ([Ubuntu](https://www.ubuntu.com/)/[Debian](https://www.debian.org/)/[CentOS7](https://www.centos.org/download/)) are known to work
4. Patience and time 4. Patience and time
## Preparation ## Preparation
For readability, I've split this recipe into multiple sub-recipies, which can be found below, or in the navigation links on the right-hand side: For readability, I've split this recipe into multiple sub-recipes, which can be found below, or in the navigation links on the right-hand side:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,5 +1,5 @@
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# AMD GPU # AMD GPU
@@ -149,13 +149,13 @@ If you want to tweak the BIOS yourself, download the [Polaris bios editor](https
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your AMD (_this page_) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your AMD (_this page_) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
3. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 3. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
4. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 4. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
5. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 5. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
6. [Profit](/recipies/cryptominer/profit/)! 💰 6. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,9 +1,9 @@
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Exchange # Exchange
You may be mining a particular coin, and want to hold onto it, in the hopes of long-term growth. In that case, stick it in a [wallet](/recipies/cryptominer/wallet/) and be done with it. You may be mining a particular coin, and want to hold onto it, in the hopes of long-term growth. In that case, stick it in a [wallet](/recipes/cryptominer/wallet/) and be done with it.
You may also not care too much about the coin (you're mining for money, right?), in which case you want to "cash out" your coins into something you can spend. You may also not care too much about the coin (you're mining for money, right?), in which case you want to "cash out" your coins into something you can spend.
@@ -37,13 +37,13 @@ Once you have enough coins in your exchange wallet, you can "trade" them into th
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to exchanges (_This page_) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,12 +1,12 @@
# Minerhotel # Minerhotel
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
So, you have GPUs. You can mine cryptocurrency. But **what** cryptocurrency should you mine? So, you have GPUs. You can mine cryptocurrency. But **what** cryptocurrency should you mine?
1. You could manually keep track of [whattomine](http://whattomine.com/), and launch/stop miners based on profitability/convenience, as you see fit. 1. You could manually keep track of [whattomine](http://whattomine.com/), and launch/stop miners based on profitability/convenience, as you see fit.
2. You can automate the process of mining the most profitable coin based on your GPUs' capabilities and the current market prices, and do better things with your free time! (_[receiving alerts](/recipies/crytominer/monitor/), of course, if anything stops working!_) 2. You can automate the process of mining the most profitable coin based on your GPUs' capabilities and the current market prices, and do better things with your free time! (_[receiving alerts](/recipes/crytominer/monitor/), of course, if anything stops working!_)
This recipe covers option #2 😁 This recipe covers option #2 😁
@@ -87,13 +87,13 @@ To make whattomine start automatically in future, run ```systemctl enable minerh
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with Miner Hotel 🏨 (_This page_) 4. Setup your miners with Miner Hotel 🏨 (_This page_)
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,5 +1,5 @@
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Mining Pools # Mining Pools
@@ -11,7 +11,7 @@ You and your puny GPUs don't have a snowball's chance of mining a block on your
This'll save you some frustration later... Next time you're watching a movie or doing something mindless, visit http://whattomine.com/, and take note of the 10-15 most profitable coins for your GPU type(s). This'll save you some frustration later... Next time you're watching a movie or doing something mindless, visit http://whattomine.com/, and take note of the 10-15 most profitable coins for your GPU type(s).
On your [exchanges](/recipies/cryptominer/exchange/), identify the "_deposit address_" for each popular coin, and note them down for the next step. On your [exchanges](/recipes/cryptominer/exchange/), identify the "_deposit address_" for each popular coin, and note them down for the next step.
!!! note !!! note
If you're wanting to mine directly to a wallet for long-term holding, then substitute your wallet public address for this deposit address. If you're wanting to mine directly to a wallet for long-term holding, then substitute your wallet public address for this deposit address.
@@ -20,7 +20,7 @@ Now work your way through the following list of pools, creating an account on ea
* [Mining Pool Hub](https://miningpoolhub.com/) (Lots of coins) * [Mining Pool Hub](https://miningpoolhub.com/) (Lots of coins)
* [NiceHash](https://nicehash.com) (Ethereum, Decred) * [NiceHash](https://nicehash.com) (Ethereum, Decred)
* [suprnova](https://suprnova.cc/) - Lots of coins, but, you generally need a separate login for each pool. You _also_ need to create a worker in each pool with a common username and password, for [Minerhotel](/recipies/crytominer/minerhotel/). * [suprnova](https://suprnova.cc/) - Lots of coins, but, you generally need a separate login for each pool. You _also_ need to create a worker in each pool with a common username and password, for [Minerhotel](/recipes/crytominer/minerhotel/).
* [nanopool](https://nanopool.org/) (Ethereum, Ethereum Classic, SiaCoin, ZCash, Monero, Pascal and Electroneum) * [nanopool](https://nanopool.org/) (Ethereum, Ethereum Classic, SiaCoin, ZCash, Monero, Pascal and Electroneum)
* [slushpool](https://slushpool.com/home/) (BTC and ZCash) * [slushpool](https://slushpool.com/home/) (BTC and ZCash)
@@ -40,13 +40,13 @@ As noted by IronicBadger [here](https://www.linuxserver.io/2018/01/20/how-to-bui
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to exchanges (_This page_) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to exchanges (_This page_) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,5 +1,5 @@
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Mining Rig # Mining Rig
@@ -22,7 +22,7 @@ You don't need anything fancy. Here's a photo of the rig my wife built me:
I recommend this design (_with the board with little holes in it_) - it takes up more space, but I have more room to place extra components (_PSUs, hard drives, etc_), as illustrated below: I recommend this design (_with the board with little holes in it_) - it takes up more space, but I have more room to place extra components (_PSUs, hard drives, etc_), as illustrated below:
!!! note !!! note
You'll note the hard drives in the picture - that's not part of the mining requirements, it's because my rig doubles as my [Plex](/recipies/plex/) server ;) You'll note the hard drives in the picture - that's not part of the mining requirements, it's because my rig doubles as my [Plex](/recipes/plex/) server ;)
![My mining rig, populated](../../images/mining_rig_populated.jpg) ![My mining rig, populated](../../images/mining_rig_populated.jpg)
@@ -31,12 +31,12 @@ I recommend this design (_with the board with little holes in it_) - it takes up
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your mining rig 💻 (This page) 1. Build your mining rig 💻 (This page)
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰

View File

@@ -1,7 +1,7 @@
# Monitor # Monitor
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
So, you're a miner! But if you're not **actively** mining, are you still a miner? This page details how to **measure** your mining activity, and how to raise an alert when a profit-affecting issue affects your miners. So, you're a miner! But if you're not **actively** mining, are you still a miner? This page details how to **measure** your mining activity, and how to raise an alert when a profit-affecting issue affects your miners.
@@ -18,7 +18,7 @@ So, you're a miner! But if you're not **actively** mining, are you still a miner
![Visualise mining performance](../../images/cryptominer_grafana.png) ![Visualise mining performance](../../images/cryptominer_grafana.png)
Since [Minerhotel](/recipies/crytominer/minerhotel/) switches currency based on what's most profitable in the moment, it's hard to gauge the impact of changes (overclocking, tweaking, mining pools) over time. Since [Minerhotel](/recipes/crytominer/minerhotel/) switches currency based on what's most profitable in the moment, it's hard to gauge the impact of changes (overclocking, tweaking, mining pools) over time.
I hacked up a bash script which grabs performance data from the output of the miners, and throws it into an InfluxDB database, which can then be visualized using Grafana. I hacked up a bash script which grabs performance data from the output of the miners, and throws it into an InfluxDB database, which can then be visualized using Grafana.
@@ -49,7 +49,7 @@ I've tried several iOS apps for monitoring my performance across various. The mo
### Track your portfolio ### Track your portfolio
Now that you've got your coins happily cha-chinging into you [wallets](/recipies/cryptominer/wallet/) (_and potentially various [exchanges](/recipies/cryptominer/exchange/)_), you'll want to monitor the performance of your portfolio over time. Now that you've got your coins happily cha-chinging into you [wallets](/recipes/cryptominer/wallet/) (_and potentially various [exchanges](/recipes/cryptominer/exchange/)_), you'll want to monitor the performance of your portfolio over time.
#### Web Apps #### Web Apps
@@ -74,13 +74,13 @@ I've found the following iOS apps to be useful in tracking my portfolio (_really
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. Monitor your empire :heartbeat: (_this page_) 6. Monitor your empire :heartbeat: (_this page_)
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,7 +1,7 @@
# NVidia GPU # NVidia GPU
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
## Ingredients ## Ingredients
@@ -146,13 +146,13 @@ Play with changing your settings.conf file until you break it, and then go back
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or Nvidia (_this page_) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or Nvidia (_this page_) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -6,12 +6,12 @@ Well, that's it really. You're a cryptominer. Welcome to the party.
To recap, you did all this: To recap, you did all this:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or [wallets](/recipies/cryptominer/wallet/) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or [wallets](/recipes/cryptominer/wallet/) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. Profit! (_This page_) 💰 7. Profit! (_This page_) 💰

View File

@@ -1,5 +1,5 @@
!!! warning !!! warning
This is not a complete recipe - it's a component of the [cryptominer](/recipies/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity. This is not a complete recipe - it's a component of the [cryptominer](/recipes/cryptominer/) "_uber-recipe_", but has been split into its own page to reduce complexity.
# Wallet # Wallet
@@ -23,13 +23,13 @@ I mine most of my coins to Exchanges, but I do have the following wallets:
Now, continue to the next stage of your grand mining adventure: Now, continue to the next stage of your grand mining adventure:
1. Build your [mining rig](/recipies/cryptominer/mining-rig/) 💻 1. Build your [mining rig](/recipes/cryptominer/mining-rig/) 💻
2. Setup your [AMD](/recipies/cryptominer/amd-gpu/) or [Nvidia](/recipies/cryptominer/nvidia-gpu/) GPUs 🎨 2. Setup your [AMD](/recipes/cryptominer/amd-gpu/) or [Nvidia](/recipes/cryptominer/nvidia-gpu/) GPUs 🎨
3. Sign up for [mining pools](/recipies/cryptominer/mining-pool/) :swimmer: 3. Sign up for [mining pools](/recipes/cryptominer/mining-pool/) :swimmer:
4. Setup your miners with [Miner Hotel](/recipies/cryptominer/minerhotel/) 🏨 4. Setup your miners with [Miner Hotel](/recipes/cryptominer/minerhotel/) 🏨
5. Send your coins to [exchanges](/recipies/cryptominer/exchange/) or wallets (_This page_) 💹 5. Send your coins to [exchanges](/recipes/cryptominer/exchange/) or wallets (_This page_) 💹
6. [Monitor](/recipies/cryptominer/monitor/) your empire :heartbeat: 6. [Monitor](/recipes/cryptominer/monitor/) your empire :heartbeat:
7. [Profit](/recipies/cryptominer/profit/)! 💰 7. [Profit](/recipes/cryptominer/profit/)! 💰
## Chef's Notes ## Chef's Notes

View File

@@ -1,6 +1,6 @@
# CryptoNote Mining Pool # CryptoNote Mining Pool
[Cryptocurrency miners](/recipies/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners. [Cryptocurrency miners](/recipes/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners.
[CryptoNote](https://cryptonote.org/) is an open-source toolset designed to facilitate the creation of new privacy-focused [cryptocurrencies](https://cryptonote.org/coins) [CryptoNote](https://cryptonote.org/) is an open-source toolset designed to facilitate the creation of new privacy-focused [cryptocurrencies](https://cryptonote.org/coins)
@@ -12,5 +12,5 @@ The fact that all these currencies share a common ancestry means that a common m
## Mining Pool Recipies ## Mining Pool Recipies
* [TurtleCoin](/recipies/turtle-pool/), the no-BS, fun baby cryptocurrency * [TurtleCoin](/recipes/turtle-pool/), the no-BS, fun baby cryptocurrency
* [Athena](/recipies/cryptonote-mining-pool/athena/), TurtleCoin's newborn baby sister * [Athena](/recipes/cryptonote-mining-pool/athena/), TurtleCoin's newborn baby sister

View File

@@ -1,6 +1,6 @@
# Athena Mining Pool # Athena Mining Pool
[Cryptocurrency miners](/recipies/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners. [Cryptocurrency miners](/recipes/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners.
![Athena Pool Screenshot](../../images/athena-mining-pool.png) ![Athena Pool Screenshot](../../images/athena-mining-pool.png)
@@ -8,9 +8,9 @@ This recipe illustrates how to build a mining pool for [Athena](https://getathen
The end result is a mining pool which looks like this: https://athx.heigh-ho.funkypenguin.co.nz/ The end result is a mining pool which looks like this: https://athx.heigh-ho.funkypenguin.co.nz/
!!! question "Isn't this just a copy/paste of your [TurtleCoin Pool Recipe](/recipies/turtle-pool/)?" !!! question "Isn't this just a copy/paste of your [TurtleCoin Pool Recipe](/recipes/turtle-pool/)?"
Why yes. Yes it is :) But it's adjusted for Athena, which uses different containers and wallet binary names, and it's running the improved [cryptonote-nodejs-pool software](https://github.com/dvandal/cryptonote-nodejs-pool), which is common to all the [cryptonote-mining-pool](/recipies/criptonote-mining-pool/) recipies! Why yes. Yes it is :) But it's adjusted for Athena, which uses different containers and wallet binary names, and it's running the improved [cryptonote-nodejs-pool software](https://github.com/dvandal/cryptonote-nodejs-pool), which is common to all the [cryptonote-mining-pool](/recipes/criptonote-mining-pool/) recipes!
## Ingredients ## Ingredients

View File

@@ -1,6 +1,6 @@
# Masari Mining Pool # Masari Mining Pool
[Cryptocurrency miners](/recipies/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners. [Cryptocurrency miners](/recipes/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners.
![Masari Pool Screenshot](../images/masari-pool.png) ![Masari Pool Screenshot](../images/masari-pool.png)
@@ -10,7 +10,7 @@ The end result is a mining pool which looks like this: https://msr.heigh-ho.funk
!!! question "Isn't this just a copy/paste of your Masari Pool Recipe?" !!! question "Isn't this just a copy/paste of your Masari Pool Recipe?"
Why yes. Yes it is :) But it's adjusted for Masari, which uses different containers and wallet binary names, and it's running the improved [cryptonote-nodejs-pool software](https://github.com/dvandal/cryptonote-nodejs-pool), which is common to all the [cryptonote-mining-pool](/recipies/criptonote-mining-pool/) recipies! Why yes. Yes it is :) But it's adjusted for Masari, which uses different containers and wallet binary names, and it's running the improved [cryptonote-nodejs-pool software](https://github.com/dvandal/cryptonote-nodejs-pool), which is common to all the [cryptonote-mining-pool](/recipes/criptonote-mining-pool/) recipes!
## Ingredients ## Ingredients

View File

@@ -1,6 +1,6 @@
# Emby # Emby
[Emby](https://emby.media/) (_think "M.B." or "Media Browser"_) is best described as "_like [Plex](/recipies/plex/) but different_" 😁 - It's a bit geekier and less polished than Plex, but it allows for more flexibility and customization. [Emby](https://emby.media/) (_think "M.B." or "Media Browser"_) is best described as "_like [Plex](/recipes/plex/) but different_" 😁 - It's a bit geekier and less polished than Plex, but it allows for more flexibility and customization.
![Emby Screenshot](../images/emby.png) ![Emby Screenshot](../images/emby.png)

View File

@@ -0,0 +1,60 @@
version: '3'
services:
flightairmap:
image: richarvey/nginx-php-fpm
volumes:
- "/var/data/flightairmap/conf:/var/www/html/conf"
- "/var/data/flightairmap/scripts:/var/www/html/scripts"
- "/var/data/flightairmap/html:/var/www/flightairmap/"
env_file:
- "/var/data/config/flightairmap/flightairmap.env"
environment:
- PHP_MEM_LIMIT=256
- RUN_SCRIPTS=1
- MYSQL_HOST=${MYSQL_HOST}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
networks:
- internal
- traefik_public
deploy:
labels:
- traefik.frontend.rule=Host:www.observe.global
- traefik.docker.network=traefik_public
- traefik.port=80
db:
image: mariadb:10
env_file: /var/data/config/flightairmap/flightairmap.env
networks:
- internal
volumes:
- /var/data/runtime/flightairmap/db:/var/lib/mysql
db-backup:
image: mariadb:10
env_file: /var/data/config/flightairmap/flightairmap.env
volumes:
- /var/data/flightairmap/database-dump:/dump
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
mysqldump -h db --all-databases | gzip -c > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.sql.gz
(ls -t /dump/dump*.sql.gz|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.sql.gz)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- internal
networks:
traefik_public:
external: true
internal:
driver: overlay
ipam:
config:
- subnet: 172.16.44.0/24

View File

@@ -2,7 +2,7 @@ hero: Kanboard - A recipe to get your personal kanban on
# Kanboard # Kanboard
Kanboard is a Kanban tool, developed by [Frédéric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of my favorite RSS reader, [Miniflux](/recipies/miniflux/)_) Kanboard is a Kanban tool, developed by [Frédéric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of my favorite RSS reader, [Miniflux](/recipes/miniflux/)_)
!!! tip "Sponsored Project" !!! tip "Sponsored Project"
Kanboard is one of my [sponsored projects](/sponsored-projects/) - a project I financially support on a regular basis because of its utility to me. I use it both in my DayJob(tm), and to manage my overflowing, overly-optimistic personal commitments! 😓 Kanboard is one of my [sponsored projects](/sponsored-projects/) - a project I financially support on a regular basis because of its utility to me. I use it both in my DayJob(tm), and to manage my overflowing, overly-optimistic personal commitments! 😓

View File

@@ -2,7 +2,7 @@ hero: Docker-mailserver - A recipe for a self-contained mailserver and friends
# Mail Server # Mail Server
Many of the recipies that follow require email access of some kind. It's normally possible to use a hosted service such as SendGrid, or just a gmail account. If (like me) you'd like to self-host email for your stacks, then the following recipe provides a full-stack mail server running on the docker HA swarm. Many of the recipes that follow require email access of some kind. It's normally possible to use a hosted service such as SendGrid, or just a gmail account. If (like me) you'd like to self-host email for your stacks, then the following recipe provides a full-stack mail server running on the docker HA swarm.
Of value to me in choosing docker-mailserver were: Of value to me in choosing docker-mailserver were:

View File

@@ -0,0 +1,127 @@
# MatterMost
Intro
![NAME Screenshot](../images/mattermost.jpg)
Details
## Ingredients
1. [Docker swarm cluster](/ha-docker-swarm/design/) with [persistent shared storage](/ha-docker-swarm/shared-storage-ceph.md)
2. [Traefik](/ha-docker-swarm/traefik_public) configured per design
3. DNS entry for the hostname you intend to use, pointed to your [keepalived](ha-docker-swarm/keepalived/) IP
## Preparation
### Setup data locations
We'll need several directories to bind-mount into our container, so create them in /var/data/wekan:
```
mkdir -p /var/data/mattermost/{cert,config,data,logs,plugins,database-dump}
mkdir -p /var/data/realtime/mattermost/database
```
### Prepare environment
Create mattermost.env, and populate with the following variables
```
POSTGRES_USER=mmuser
POSTGRES_PASSWORD=mmuser_password
POSTGRES_DB=mattermost
MM_USERNAME=mmuser
MM_PASSWORD=mmuser_password
MM_DBNAME=mattermost
```
Now create mattermost-backup.env, and populate with the following variables:
```
PGHOST=db
PGUSER=mmuser
PGPASSWORD=mmuser_password
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``` 👍
```
version: '3'
services:
db:
image: mattermost/mattermost-prod-db
env_file: /var/data/config/mattermost/mattermost.env
volumes:
- /var/data/realtime/mattermost/database:/var/lib/postgresql/data
networks:
- internal
app:
image: mattermost/mattermost-team-edition
env_file: /var/data/config/mattermost/mattermost.env
volumes:
- /var/data/mattermost/config:/mattermost/config:rw
- /var/data/mattermost/data:/mattermost/data:rw
- /var/data/mattermost/logs:/mattermost/logs:rw
- /var/data/mattermost/plugins:/mattermost/plugins:rw
db-backup:
image: mattermost/mattermost-prod-db
env_file: /var/data/config/mattermost/mattermost-backup.env
volumes:
- /var/data/mattermost/database-dump:/dump
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
pg_dump -Fc > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.psql
(ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- internal
networks:
traefik_public:
external: true
internal:
driver: overlay
ipam:
config:
- subnet: 172.16.40.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.
## Serving
### Launch Wekan stack
Launch the Wekan stack by running ```docker stack deploy wekan -c <path -to-docker-compose.yml>```
Log into your new instance at https://**YOUR-FQDN**, with user "root" and the password you specified in gitlab.env.
## Chef's Notes
1. If you wanted to expose the Wekan UI directly, you could remove the oauth2_proxy from the design, and move the traefik_public-related labels directly to the wekan container. You'd also need to add the traefik_public network to the wekan container.
### Tip your waiter (donate) 👏
Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏
### Your comments? 💬

View File

@@ -2,7 +2,7 @@ hero: Miniflux - A recipe for a lightweight minimalist RSS reader
# Miniflux # Miniflux
Miniflux is a lightweight RSS reader, developed by [Frédéric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of the favorite Open Source Kanban app, [Kanboard](/recipies/kanboard/)_) Miniflux is a lightweight RSS reader, developed by [Frédéric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of the favorite Open Source Kanban app, [Kanboard](/recipes/kanboard/)_)
![Miniflux Screenshot](../../images/miniflux.png) ![Miniflux Screenshot](../../images/miniflux.png)

View File

@@ -19,7 +19,7 @@ This recipe is based on the official NextCloud docker image, but includes seprat
### Setup data locations ### Setup data locations
We'll need several directories for [static data](/reference/data_layout/#static-data) to bind-mount into our container, so create them in /var/data/nextcloud (_so that they can be [backed up](/recipies/duplicity/)_) We'll need several directories for [static data](/reference/data_layout/#static-data) to bind-mount into our container, so create them in /var/data/nextcloud (_so that they can be [backed up](/recipes/duplicity/)_)
``` ```
mkdir /var/data/nextcloud mkdir /var/data/nextcloud
@@ -177,7 +177,7 @@ Then navigate to https://<your FQDN>/index.php/settings/admin/additional, scroll
## Chef's Notes ## Chef's Notes
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). 1. Since many of my other recipes 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) 👏

View File

@@ -7,7 +7,7 @@
Using a smartphone app, OwnTracks allows you to collect and analyse your own location data **without** sharing this data with a cloud provider (_i.e. Apple, Google_). Potential use cases are: Using a smartphone app, OwnTracks allows you to collect and analyse your own location data **without** sharing this data with a cloud provider (_i.e. Apple, Google_). Potential use cases are:
* Sharing family locations without relying on Apple Find-My-friends * Sharing family locations without relying on Apple Find-My-friends
* Performing automated actions in [HomeAssistant](/recipies/homeassistant/) when you arrive/leave home * Performing automated actions in [HomeAssistant](/recipes/homeassistant/) when you arrive/leave home
## Ingredients ## Ingredients

View File

@@ -1,6 +1,6 @@
# Realms # Realms
Realms is a git-based wiki (_like [Gollum](/recipies/gollum/), but with basic authentication and registration_) Realms is a git-based wiki (_like [Gollum](/recipes/gollum/), but with basic authentication and registration_)
![Realms Screenshot](../images/realms.png) ![Realms Screenshot](../images/realms.png)
@@ -16,7 +16,7 @@ Features include:
!!! warning "Project likely abandoned" !!! warning "Project likely abandoned"
In my limited trial, Realms seems _less_ useful than [Gollum](/recipies/gollum/) for my particular use-case (_i.e., you're limited to markdown syntax only_), but other users may enjoy the basic user authentication and registration features, which Gollum lacks. In my limited trial, Realms seems _less_ useful than [Gollum](/recipes/gollum/) for my particular use-case (_i.e., you're limited to markdown syntax only_), but other users may enjoy the basic user authentication and registration features, which Gollum lacks.
Also of note is that the docker image is 1.17GB in size, and the handful of commits to the [source GitHub repo](https://github.com/scragg0x/realms-wiki/commits/master) in the past year has listed TravisCI build failures. This has many of the hallmarks of an abandoned project, to my mind. Also of note is that the docker image is 1.17GB in size, and the handful of commits to the [source GitHub repo](https://github.com/scragg0x/realms-wiki/commits/master) in the past year has listed TravisCI build failures. This has many of the hallmarks of an abandoned project, to my mind.

View File

@@ -0,0 +1,44 @@
hero: SSO for all your stack elements 🎁
# SSO Stack
Most of the recipes in the cookbook are stand-alone - you can deploy and use them in isolation. I was approached recently by an anonymous sponsor, who needed a stack which would allow the combination of several collaborative tools, in a manner which permits "single signon (SSO)". I.e., the goal of the design was that a user would be provisioned _once_, and thereafter have transparent access to multiple separate applications.
The SSO Stack "uber-recipe" is the result of this design.
![SSO Stark Screenshot](../images/sso-stack.png)
This recipe presents a method to combine multiple tools into a single swarm deployment, and make them available securely.
## Menu
Tools included in the SSO stack are:
* **[OpenLDAP](https://www.openldap.org/)** : Provides Authentication backend
* **[LDAP Account Manager ](https://www.ldap-account-manager.org)** (LAM) : A Web_UI to manage LDAP accounts
* **[KeyCloak](https://www.keycloak.org/)** is an open source identity and access management solution, providing SSO and 2FA capabilities backed into authentication provides (like OpenLDAP)
* **[docker-mailserver](https://github.com/tomav/docker-mailserver)** : A fullstack, simple mail platform including SMTP, IMAPS, and spam filtering components
* **[RainLoop](https://www.rainloop.net/)** : A fast, modern webmail client
* **[GitLab](https://gitlab.org)** : A powerful collaborative git-based developmenet platform
* **[NextCloud](https://www.nextcloud.org)** : A file share and communication platform
This is a complex recipe, and should be deployed in a sequential manner (_i.e. you need OpenLDAP with LDAP Account Manager, to enable KeyCloak, in order to get SSO available for NextCloud, etc.._)
## Ingredients
1. [Docker swarm cluster](/ha-docker-swarm/design/) with [persistent shared storage](/ha-docker-swarm/shared-storage-ceph.md)
2. [Traefik](/ha-docker-swarm/traefik) configured per design
3. Access to NZB indexers and Usenet servers
4. DNS entries configured for each of the NZB tools in this recipe that you want to use
## Preparation
Now work your way through the list of tools below, adding whichever tools your want to use, and finishing with the **end** section:
* [OpenLDAP](/recipes/sso-stack/openldap.md)
### Tip your waiter (donate) 👏
Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏
### Your comments? 💬

View File

@@ -0,0 +1,100 @@
don't use special characetrs in your password
perl -pi -e "s/<termination (.*)>.*<\/termination>/<termination \1>${termination}<\/termination>/" /etc/loolwsd/loolwsd.xml
Cretaed /var/data/collabora/loolwsd.xml and bind-mounted it for editing ssl bool = false
docker-compose.yml
```
version: "3.0"
services:
local-collabora:
image: funkypenguin/collabora
# the funkypenguin version has a patch to include "termination" behind SSL-terminating reverse proxy (traefik)
#image: collabora/code
env_file: /var/data/config/collabora/collabora.env
volumes:
- /var/data/collabora/loolwsd.xml:/etc/loolwsd/loolwsd.xml
cap_add:
- MKNOD
ports:
- 9980:9980
```
nginx.conf
```
upstream collabora-upstream {
# Run collabora under docker-compose, since it needs MKNOD cap, which can't be provided by Docker
server 172.17.0.1:9980;
}
server {
listen 80;
server_name collabora.observe.global;
# static files
location ^~ /loleaflet {
proxy_pass http://collabora-upstream;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass http://collabora-upstream;
proxy_set_header Host $http_host;
}
# Main websocket
location ~ /lool/(.*)/ws$ {
proxy_pass http://collabora-upstream;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# Admin Console websocket
location ^~ /lool/adminws {
proxy_buffering off;
proxy_pass http://collabora-upstream;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# download, presentation and image upload
location ~ /lool {
proxy_pass https://collabora-upstream;
proxy_set_header Host $http_host;
}
}
```
collabora.yml
```
version: "3.0"
services:
nginx:
image: nginx:latest
networks:
- traefik_public
deploy:
labels:
- traefik.frontend.rule=Host:collabora.observe.global
- traefik.docker.network=traefik_public
- traefik.port=80
- traefik.frontend.passHostHeader=true
volumes:
- /var/data/collabora/nginx.conf:/etc/nginx/conf.d/default.conf:ro
networks:
traefik_public:
external: true
```

View File

@@ -0,0 +1,62 @@
docker run -ti --rm \
-v "$(pwd)"/letsencrypt:/etc/letsencrypt \
-v "$(pwd)"/cloudflare.ini:/cloudflare.ini \
certbot/dns-cloudflare \
certonly \
--dns-cloudflare \
--dns-cloudflare-credentials=/cloudflare.ini \
-d mail.observe.global
```
root@cloud:/var/data/docker-mailserver# docker run -ti --rm -v "$(pwd)"/letsencrypt:/etc/letsencrypt -v "$(pwd)"/cloudflare.ini:/cloudflare.ini certbot/dns-cloudflare certonly --dns-cloudflare --dns-cloudflare-credentials=/cloudflare.ini -d mail.observe.global
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-cloudflare, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): cam@0sum.club
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for mail.observe.global
Unsafe permissions on credentials configuration file: /cloudflare.ini
Waiting 10 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mail.observe.global/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mail.observe.global/privkey.pem
Your cert will expire on 2019-01-30. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
root@cloud:/var/data/docker-mailserver#
```

View File

@@ -0,0 +1,122 @@
https://edenmal.moe/post/2018/GitLab-Keycloak-SAML-2-0-OmniAuth-Provider/
OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL
OAUTH_SAML_IDP_CERT_FINGERPRINT
OAUTH_SAML_IDP_SSO_TARGET_URL
OAUTH_SAML_ISSUER
OAUTH_SAML_NAME_IDENTIFIER_FORMAT
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_saml_user'] = true
gitlab_rails['omniauth_providers'] = [
{
name: 'saml',
label: 'SAML',
args: {
attribute_statements: { username: ['username'] }
}
}
]
OAUTH_BLOCK_AUTO_CREATED_USERS=false
OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=saml
OAUTH_ALLOW_SSO=saml
OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=https://gitlab.observe.global/users/auth/saml/callback
OAUTH_SAML_IDP_CERT_FINGERPRINT=41f1c588c928291c5dc30d11161d685231509ab8
OAUTH_SAML_IDP_SSO_TARGET_URL=https://keycloak.observe.global/auth/realms/observe/protocol/sam
OAUTH_SAML_ISSUER=https://gitlab.observe.global
OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
DISBALED_OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=mail
DISBALEDOAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=cnam
DISBALEDOAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=cname
DISBALEDOAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=sn
```
{
"clients": [
{
"clientId": "https://gitlab.observe.global",
"rootUrl": "https://gitlab.observe.global",
"enabled": true,
"redirectUris": [
"https://gitlab.observe.global/*"
],
"protocol": "saml",
"attributes": {
"saml.assertion.signature": "false",
"saml.force.post.binding": "true",
"saml.multivalued.roles": "false",
"saml.encrypt": "false",
"saml.server.signature": "true",
"saml.server.signature.keyinfo.ext": "false",
"saml.signature.algorithm": "RSA_SHA256",
"saml_force_name_id_format": "false",
"saml.client.signature": "false",
"saml.authnstatement": "true",
"saml_name_id_format": "username",
"saml.onetimeuse.condition": "false",
"saml_signature_canonicalization_method": "http://www.w3.org/2001/10/xml-exc-c14n#"
},
"protocolMappers": [
{
"name": "email",
"protocol": "saml",
"protocolMapper": "saml-user-property-mapper",
"consentRequired": false,
"config": {
"user.attribute": "email",
"attribute.name": "email"
}
},
{
"name": "first_name",
"protocol": "saml",
"protocolMapper": "saml-user-property-mapper",
"consentRequired": false,
"config": {
"user.attribute": "firstName",
"attribute.name": "first_name"
}
},
{
"name": "last_name",
"protocol": "saml",
"protocolMapper": "saml-user-property-mapper",
"consentRequired": false,
"config": {
"user.attribute": "lastName",
"attribute.name": "last_name"
}
},
{
"name": "username",
"protocol": "saml",
"protocolMapper": "saml-user-property-mapper",
"consentRequired": false,
"config": {
"user.attribute": "username",
"attribute.name": "username"
}
}
]
}
]
}
```
-----BEGIN CERTIFICATE-----
MIICnTCCAYUCBgFmyRcGiTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdvYnNlcnZlMB4XDTE4MTAzMTA3NDUyMVoXDTI4MTAzMTA3NDcwMVowEjEQMA4GA1UEAwwHb2JzZXJ2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI/quQQfWBuQgvxpkcqzkPmXmiO/XE9KmSLcoIOJuDMXXmev9WFtXYbKfozjrZgC4P0uPQLAXJU+2hO7U5fkaG2IuORCK/fKp+cD3GXVO38mxpGFdk3k2eTLUOFfVAUXpPT9dYPSs3EpiB/llslErBBG7bkfwHr06xjU2sMqo/pRbKDLvrqAaBMuHlgOHhAVWWxyzQuUF0kxHxsAbpOnzpiMMOZxhKKZiNEpozIOESplIKFsEYiS4w60z5ROmYEBVqMKP5rsEop9XgS+JNaqfjDbW/NOgT13bvxiA6HxEB0UGt2tWxVsnxpzp3v5rxnXzo1wZQO5KQYWNxJT9Wb9sy8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAIyrT5q/TC3CVF7YOAIrPCq+TEANnoaTUuq2BCG6ory+cnnI9T/qoW9c2GVYSrmdQraY8H3o4J+Trjz2OCmuk4Xdp326Lz7hGPuF6i2p9Dmbu696WDlwZHMm+Dn6lMegGb1WKJGAIB9JBss5lHqGbrAxUav9pWukKBZaNsFVnycOMGLQJuROf3jh/MNd7tcIhxAXQxWf//ZfYH7JfeK973L27oGyK+CrxGwsHIsuwSrkJVAPvWPADiPQFqExK/bC1DPGQO4YAV5rCJPTIwXL5I6l5Al2hw1FcAMND2bTA3MgYzg1aQvAJGO7+wQNQYOPkuhR1Hhb1JWGYj1YOdPnG+g==
-----END CERTIFICATE-----
https://edenmal.moe/post/2018/GitLab-Keycloak-SAML-2-0-OmniAuth-Provider/

View File

@@ -0,0 +1,170 @@
# KeyCloak
!!! warning
While this could stand on its own as a standalone recipe, it's a component of the [sso-stack](/recipes/sso-stack/) "_uber-recipe_", and is written in the expectation that the entire SSO stack is being deployed.
![KeyCloak Screenshot](../images/keycloak.png)
## Ingredients
1. [Docker swarm cluster](/ha-docker-swarm/design/) with [persistent shared storage](/ha-docker-swarm/shared-storage-ceph.md)
2. [Traefik](/ha-docker-swarm/traefik_public) configured per design
3. DNS entry for the hostname you intend to use, pointed to your [keepalived](ha-docker-swarm/keepalived/) IP
## Preparation
### Setup data locations
We'll need several directories to bind-mount into our container for both runtime and backup data, so create them as follows
```
mkdir /var/data/runtime/keycloak/database
mkdir /var/data/keycloak/database-dump
```
### Prepare environment
Create /var/data/keycloak/keycloak.env, and populate with the following variables, customized for your own domain struction. Take care with LDAP_DOMAIN, this is core to the rest of the [sso-stack](/recipes/sso-stack/), and can't easily be changed later.
```
# Technically, this could be auto-detected, but we prefer to be prescriptive
DB_VENDOR=postgres
DB_DATABASE=keycloak
DB_ADDR=db
DB_USER=keycloak
DB_PASSWORD=myuberpassword
KEYCLOAK_USER=admin
KEYCLOAK_PASSWORD=ilovepasswords
# This is required to run keycloak behind traefik
PROXY_ADDRESS_FORWARDING=true
# What's our hostname?
KEYCLOAK_HOSTNAME=cloud.example.com
# Tell Postgress what user/password to create
POSTGRES_USER=keycloak
POSTGRES_PASSWORD=myuberpassword
```
Create /var/data/keycloak/keycloak-backup.env, and populate with the following, so that your database can be backed up to the filesystem, daily:
```
PGHOST=db
PGUSER=keycloak
PGPASSWORD=myuberpassword
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``` 👍
```
version: '3'
services:
keycloak:
image: jboss/keycloak
env_file: /var/data/config/keycloak/keycloak.env
networks:
- traefik_public
deploy:
labels:
- traefik.frontend.rule=Host:keycloak.cloud.example.com
- traefik.port=8080
- traefik.docker.network=traefik_public
db:
env_file: /var/data/config/keycloak/keycloak.env
image: postgres:10.1
volumes:
- /var/data/runtime/keycloak/database:/var/lib/postgresql/data
networks:
- traefik_public
db-backup:
image: postgres:10.1
env_file: /var/data/config/keycloak/keycloak-backup.env
volumes:
- /var/data/keycloak/database-dump:/dump
# - /etc/localtime:/etc/localtime:ro
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
pg_dump -Fc > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.psql
(ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- traefik_public
networks:
traefik_public:
external: true
internal:
driver: overlay
ipam:
config:
- subnet: 172.16.39.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.
## Serving
### Launch OpenLDAP stack
Launch the OpenLDAP stack by running ```docker stack deploy keycloak -c <path -to-docker-compose.yml>```
Log into your new instance at https://**YOUR-FQDN**, and login with the user/password you defined in keycloak.env.
You start in the "Master" realm - but mouseover the realm name, to a dropdown box allowing you add an new realm:
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-1.png)
Enter a name for your new realm, and click "_Create_":
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-2.png)
Once in the desired realm, click on **User Federation**, and click **Add Provider**. On the next page ("_Required Settings_"), set the following:
* **Edit Mode** : Writeable
* **Vendor** : Other
* **Connection URL** : ldap://openldap
* **Users DN** : ou=People,<your base DN>
* **Authentication Type** : simple
* **Bind DN** : cn=admin,<your base DN>
* **Bind Credential** : <your chosen admin password>
Save your changes, and then navigate back to "User Federation" > Your LDAP name > Mappers:
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-3.png)
For each of the following names, click the name, and set the "_Read Only_" flag to "_Off_" (_this enables 2-way sync between KeyCloak and OpenLD_AP)
* last name
* username
* email
* first name
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-4.png)
Proceed to setting up [Email](/recipes/sso-stack/docker-mailserver/)...
## Chef's Notes
1. I wanted to be able to add multiple networks to KeyCloak (i.e., a dedicated overlay network for LDAP authentication), but the entrypoint used by the container produces an error when more than one network is configured. This could theoretically be corrected in future, with a PR.
### Tip your waiter (donate) 👏
Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏
### Your comments? 💬

View File

@@ -0,0 +1,403 @@
# OpenLDAP with LAM
!!! warning
While this could stand on its own as a standalone recipe, it's a component of the [sso-stack](/recipes/sso-stack/) "_uber-recipe_", and is written in the expectation that the entire SSO stack is being deployed.
![OpenLDAP Screenshot](../images/openldap.png)
## Ingredients
1. [Docker swarm cluster](/ha-docker-swarm/design/) with [persistent shared storage](/ha-docker-swarm/shared-storage-ceph.md)
2. [Traefik](/ha-docker-swarm/traefik_public) configured per design
3. DNS entry for the hostname you intend to use, pointed to your [keepalived](ha-docker-swarm/keepalived/) IP
## Preparation
### Setup data locations
We'll need several directories to bind-mount into our container, so create them in /var/data/openldap:
```
mkdir /var/data/openldap/openldap
mkdir /var/data/runtime/openldap/
```
### Prepare environment
Create /var/data/openldap/openldap.env, and populate with the following variables, customized for your own domain struction. Take care with LDAP_DOMAIN, this is core to the rest of the [sso-stack](/recipes/sso-stack/), and can't easily be changed later.
```
LDAP_DOMAIN=batcave.gotham
LDAP_ORGANISATION=BatCave Inc
LDAP_ADMIN_PASSWORD=supermansucks
LDAP_TLS=false
# Setup for github
OAUTH2_PROXY_CLIENT_ID=
OAUTH2_PROXY_CLIENT_SECRET=
OAUTH2_PROXY_COOKIE_SECRET=
```
Create ```authenticated-emails.txt```, and populate with the email addresses (matched to GitHub user accounts, in my case) which you want to grant access, using OAuth2.
### Create config.cfg
```
# password to add/delete/rename configuration profiles (default: lam)
password: {SSHA}54haBZN/kfgNVJ+W3YJrI2dCic4= iCXkNA==
# default profile, without ".conf"
default: observeglobal
# log level
logLevel: 4
# log destination
logDestination: SYSLOG
# session timeout in minutes
sessionTimeout: 30
# list of hosts which may access LAM
allowedHosts:
# list of hosts which may access LAM Pro self service
allowedHostsSelfService:
# encrypt session data
encryptSession: true
# Password: minimum password length
passwordMinLength: 0
# Password: minimum uppercase characters
passwordMinUpper: 0
# Password: minimum lowercase characters
passwordMinLower: 0
# Password: minimum numeric characters
passwordMinNumeric: 0
# Password: minimum symbolic characters
passwordMinSymbol: 0
# Password: minimum character classes (0-4)
passwordMinClasses: 0
# Password: checked rules
checkedRulesCount: -1
# Password: must not contain part of user name
passwordMustNotContain3Chars: false
# Password: must not contain user name
passwordMustNotContainUser: false
# Email format (default/unix)
mailEOL: default
# PHP error reporting (default/system)
errorReporting: default
# License
license:
```
### Create <profile>.cfg
```
# LDAP Account Manager configuration
#
# Please do not modify this file manually. The configuration can be done completely by the LAM GUI.
#
###################################################################################################
# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)
ServerURL: ldap://openldap:389
# list of users who are allowed to use LDAP Account Manager
# names have to be seperated by semicolons
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
Admins: cn=admin,dc=observe,dc=global
# password to change these preferences via webfrontend (default: lam)
Passwd: {SSHA}h39N9+gg/Qf1K/986VkKrjWlkcI= S/IAUQ==
# suffix of tree view
# e.g. dc=yourdomain,dc=org
treesuffix: dc=observe,dc=global
# default language (a line from config/language)
defaultLanguage: en_GB.utf8
# Path to external Script
scriptPath:
# Server of external Script
scriptServer:
# Access rights for home directories
scriptRights: 750
# Number of minutes LAM caches LDAP searches.
cachetimeout: 5
# LDAP search limit.
searchLimit: 0
# Module settings
modules: posixAccount_user_minUID: 10000
modules: posixAccount_user_maxUID: 30000
modules: posixAccount_host_minMachine: 50000
modules: posixAccount_host_maxMachine: 60000
modules: posixGroup_group_minGID: 10000
modules: posixGroup_group_maxGID: 20000
modules: posixGroup_pwdHash: SSHA
modules: posixAccount_pwdHash: SSHA
# List of active account types.
activeTypes: user,group
types: suffix_user: ou=People,dc=observe,dc=global
types: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumber
types: modules_user: inetOrgPerson,posixAccount,shadowAccount
types: suffix_group: ou=Groups,dc=observe,dc=global
types: attr_group: #cn;#gidNumber;#memberUID;#description
types: modules_group: posixGroup
# Password mail subject
lamProMailSubject: Your password was reset
# Password mail text
lamProMailText: Dear @@givenName@@ @@sn@@,+::++::+your password was reset to: @@newPassword@@+::++::++::+Best regards+::++::+deskside support+::+
serverDisplayName:
# enable TLS encryption
useTLS: no
# follow referrals
followReferrals: false
# paged results
pagedResults: false
referentialIntegrityOverlay: false
# time zone
timeZone: Europe/London
scriptUserName:
scriptSSHKey:
scriptSSHKeyPassword:
# Access level for this profile.
accessLevel: 100
# Login method.
loginMethod: list
# Search suffix for LAM login.
loginSearchSuffix: dc=yourdomain,dc=org
# Search filter for LAM login.
loginSearchFilter: uid=%USER%
# Bind DN for login search.
loginSearchDN:
# Bind password for login search.
loginSearchPassword:
# HTTP authentication for LAM login.
httpAuthentication: false
# Password mail from
lamProMailFrom:
# Password mail reply-to
lamProMailReplyTo:
# Password mail is HTML
lamProMailIsHTML: false
# Allow alternate address
lamProMailAllowAlternateAddress: true
jobsBindPassword:
jobsBindUser:
jobsDatabase:
jobsDBHost:
jobsDBPort:
jobsDBUser:
jobsDBPassword:
jobsDBName:
jobToken: 190339140545
pwdResetAllowSpecificPassword: true
pwdResetAllowScreenPassword: true
pwdResetForcePasswordChange: true
pwdResetDefaultPasswordOutput: 2
twoFactorAuthentication: none
twoFactorAuthenticationURL: https://localhost
twoFactorAuthenticationInsecure:
twoFactorAuthenticationLabel:
twoFactorAuthenticationOptional:
twoFactorAuthenticationCaption:
tools: tool_hide_toolOUEditor: false
tools: tool_hide_toolProfileEditor: false
tools: tool_hide_toolSchemaBrowser: false
tools: tool_hide_toolServerInformation: false
tools: tool_hide_toolTests: false
tools: tool_hide_toolPDFEditor: false
tools: tool_hide_toolFileUpload: false
tools: tool_hide_toolMultiEdit: false
```
### 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``` 👍
```
version: '3'
services:
openldap:
image: osixia/openldap
env_file: /var/data/config/openldap/openldap.env
networks:
- traefik_public
volumes:
- /var/data/openldap/openldap/:/var/lib/ldap
- /var/data/runtime/openldap/:/etc/ldap/slapd.d
lam:
image: jacksgt/ldap-account-manager
networks:
- traefik_public
#volumes:
#- /var/data/openldap/lam/config/lam.conf:/var/www/html/config/lam.conf
proxy:
image: funkypenguin/oauth2_proxy
env_file: /var/data/config/openldap/openldap.env
networks:
- traefik_public
deploy:
labels:
- traefik.frontend.rule=Host:lam.example.com
- traefik.port=4180
volumes:
- /var/data/config/openldap/authenticated-emails.txt:/authenticated-emails.txt
command: |
-cookie-secure=false
-upstream=http://lam:8080
-redirect-url=https://lam.example.com
-http-address=http://0.0.0.0:4180
-email-domain=example.com
-provider=github
-authenticated-emails-file=/authenticated-emails.txt
networks:
traefik_public:
external: true
```
## Serving
### Launch OpenLDAP stack
Launch the OpenLDAP stack by running ```docker stack deploy openldap -c <path -to-docker-compose.yml>```
Log into your new instance at https://**YOUR-FQDN**. You'll hit the LDAP Account Manager login page, which will look like this:
![LAM Landing Page Screenshot](/images/sso-stack-lam-1.png)
Click on "LAM Configuration" to add a profile.
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-2.png)
Enter a profile name, and a profile password (twice). Leave the template at "_unix_":
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-3.png)
When prompted to save your new profile, enter the "master password" ("lam")
You've created a "profile". Now to configure your profile... Start with "Server Settings", and change your **server address** to ```ldap://openldap:389```, and your **tree suffix** to the base DN you setup in the openldap.env file (above).
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-4.png)
Under **Security Settings**, alter the list of valid users to "**cn=admin\<your-base-dn\>**"
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-5.png)
After you save, you'll be redirected to the profile login page, where you'll need to enter the profile details and password you create above.
Once logged in, click on the "**Account Types"** tab...
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-6.png)
And for both "_Users_" and "_Groups_", edit the "LDAP Suffix" to match your chosen Base DN, and save your changes:
![LAM Edit Profiles Screenshot](/images/sso-stack-lam-7.png)
After saving changes to your LAM profile, you'll be redirected to the LAM admin page. Enter your credentials (default admin/admin) to login. On first login, you'll be prompted to create the "ou=People" and "ou=Group" elements. Proceed to create these.
You've now setup your OpenLDAP directory structure, and hopefully won't have to interact with the "special" LDAP Account Manager interface much again!
Proceed to setting up [KeyCloak](/recipes/sso-stack/keycloak/)...
## Chef's Notes
1. What's not yet documented here is how to make the LAM "profile" configuration persistent. I.e., after each container reload, it's currently necessary to repeat the steps above.
### Tip your waiter (donate) 👏
Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏
### Your comments? 💬

View File

@@ -27,7 +27,7 @@ I'd encourage you to spend some time reading https://github.com/stefanprodan/swa
## Preparation ## Preparation
This is basically a rehash of stefanprodan's [instructions](https://github.com/stefanprodan/swarmprom) to match the way I've configured other recipies. This is basically a rehash of stefanprodan's [instructions](https://github.com/stefanprodan/swarmprom) to match the way I've configured other recipes.
### Setup oauth provider ### Setup oauth provider

View File

@@ -2,7 +2,7 @@ hero: How to setup a TurtleCoin Mining Pool
# TurtleCoin Mining Pool # TurtleCoin Mining Pool
[Cryptocurrency miners](/recipies/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners. [Cryptocurrency miners](/recipes/cryptominer) will "pool" their GPU resources ("_hashpower_") into aggregate "_mining pools_", so that by the combined effort of all the miners, the pool will receive a reward for the blocks "mined" into the blockchain, and this reward will be distributed among the miners.
![Turtle Pool Screenshot](../images/turtle-pool.png) ![Turtle Pool Screenshot](../images/turtle-pool.png)

View File

@@ -8,7 +8,7 @@ All saved data (_pages, annotations, images, tags, etc_) are stored on your own
![Wallabag Screenshot](../images/wallabag.png) ![Wallabag Screenshot](../images/wallabag.png)
There are plugins for [Chrome](https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj) and [Firefox](https://addons.mozilla.org/firefox/addon/wallabagger/), as well as apps for [iOS](https://appsto.re/fr/YeqYfb.i), [Android](https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche), etc. Wallabag will also integrate nicely with my favorite RSS reader, [Miniflux](https://miniflux.net/) (_for which there is an [existing recipe](/recipies/miniflux)_). There are plugins for [Chrome](https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj) and [Firefox](https://addons.mozilla.org/firefox/addon/wallabagger/), as well as apps for [iOS](https://appsto.re/fr/YeqYfb.i), [Android](https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche), etc. Wallabag will also integrate nicely with my favorite RSS reader, [Miniflux](https://miniflux.net/) (_for which there is an [existing recipe](/recipes/miniflux)_).
[Here's a video](https://player.vimeo.com/video/167435064) which shows off the UI a bit more. [Here's a video](https://player.vimeo.com/video/167435064) which shows off the UI a bit more.
@@ -22,7 +22,7 @@ There are plugins for [Chrome](https://chrome.google.com/webstore/detail/wallaba
### Setup data locations ### Setup data locations
We need a filesystem location to store images that Wallabag downloads from the original sources, to re-display when you read your articles, as well as nightly database dumps (_which you **should [backup](/recipies/duplicity/)**_), so create something like this: We need a filesystem location to store images that Wallabag downloads from the original sources, to re-display when you read your articles, as well as nightly database dumps (_which you **should [backup](/recipes/duplicity/)**_), so create something like this:
``` ```
mkdir -p /var/data/wallabag mkdir -p /var/data/wallabag

View File

@@ -1,6 +1,6 @@
# Data layout # Data layout
The applications deployed in the stack utilize a combination of data-at-rest (_static config, files, etc_) and runtime data (_live database files_). The realtime data can't be [backed up](/recipies/duplicity) with a simple copy-paste, so where we employ databases, we also include containers to perform a regular export of database data to a filesystem location. The applications deployed in the stack utilize a combination of data-at-rest (_static config, files, etc_) and runtime data (_live database files_). The realtime data can't be [backed up](/recipes/duplicity) with a simple copy-paste, so where we employ databases, we also include containers to perform a regular export of database data to a filesystem location.
So that we can confidently backup all our data, I've setup a data layout as follows: So that we can confidently backup all our data, I've setup a data layout as follows:

View File

@@ -6,45 +6,45 @@ Network | Range
--|-- --|--
[Traefik](https://geek-cookbook.funkypenguin.co.nz/ha-docker-swarm/traefik/) | _unspecified_ [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 [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/recipies/mail/) | 172.16.1.0/24 [Mail Server](https://geek-cookbook.funkypenguin.co.nz/recipes/mail/) | 172.16.1.0/24
[Gitlab](https://geek-cookbook.funkypenguin.co.nz/recipies/gitlab/) | 172.16.2.0/24 [Gitlab](https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab/) | 172.16.2.0/24
[Wekan](https://geek-cookbook.funkypenguin.co.nz/recipies/wekan/) | 172.16.3.0/24 [Wekan](https://geek-cookbook.funkypenguin.co.nz/recipes/wekan/) | 172.16.3.0/24
[Piwik](https://geek-cookbook.funkypenguin.co.nz/recipies/piwki/) | 172.16.4.0/24 [Piwik](https://geek-cookbook.funkypenguin.co.nz/recipes/piwki/) | 172.16.4.0/24
[Tiny Tiny RSS](https://geek-cookbook.funkypenguin.co.nz/recipies/tiny-tiny-rss/) | 172.16.5.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/recipies/huginn/) | 172.16.6.0/24 [Huginn](https://geek-cookbook.funkypenguin.co.nz/recipes/huginn/) | 172.16.6.0/24
[Unifi](https://geek-cookbook.funkypenguin.co.nz/recipies/unifi/) | 172.16.7.0/24 [Unifi](https://geek-cookbook.funkypenguin.co.nz/recipes/unifi/) | 172.16.7.0/24
[Kanboard](https://geek-cookbook.funkypenguin.co.nz/recipies/kanboard/) | 172.16.8.0/24 [Kanboard](https://geek-cookbook.funkypenguin.co.nz/recipes/kanboard/) | 172.16.8.0/24
[Gollum](https://geek-cookbook.funkypenguin.co.nz/recipies/gollum/) | 172.16.9.0/24 [Gollum](https://geek-cookbook.funkypenguin.co.nz/recipes/gollum/) | 172.16.9.0/24
[Duplicity](https://geek-cookbook.funkypenguin.co.nz/recipies/duplicity/) | 172.16.10.0/24 [Duplicity](https://geek-cookbook.funkypenguin.co.nz/recipes/duplicity/) | 172.16.10.0/24
[Autopirate](https://geek-cookbook.funkypenguin.co.nz/recipies/autopirate/) | 172.16.11.0/24 [Autopirate](https://geek-cookbook.funkypenguin.co.nz/recipes/autopirate/) | 172.16.11.0/24
[Nextcloud](https://geek-cookbook.funkypenguin.co.nz/recipies/nextcloud/) | 172.16.12.0/24 [Nextcloud](https://geek-cookbook.funkypenguin.co.nz/recipes/nextcloud/) | 172.16.12.0/24
[Portainer](https://geek-cookbook.funkypenguin.co.nz/recipies/portainer/) | 172.16.13.0/24 [Portainer](https://geek-cookbook.funkypenguin.co.nz/recipes/portainer/) | 172.16.13.0/24
[Home-Assistant](https://geek-cookbook.funkypenguin.co.nz/recipies/home-assistant/) | 172.16.14.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/recipies/owntracks/) | 172.16.15.0/24 [OwnTracks](https://geek-cookbook.funkypenguin.co.nz/recipes/owntracks/) | 172.16.15.0/24
[Plex](https://geek-cookbook.funkypenguin.co.nz/recipies/plex/) | 172.16.16.0/24 [Plex](https://geek-cookbook.funkypenguin.co.nz/recipes/plex/) | 172.16.16.0/24
[Emby](https://geek-cookbook.funkypenguin.co.nz/recipies/emby/) | 172.16.17.0/24 [Emby](https://geek-cookbook.funkypenguin.co.nz/recipes/emby/) | 172.16.17.0/24
[Calibre-Web](https://geek-cookbook.funkypenguin.co.nz/recipies/calibre-web/) | 172.16.18.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/recipies/wallabag/) | 172.16.19.0/24 [Wallabag](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/) | 172.16.19.0/24
[InstaPy](https://geek-cookbook.funkypenguin.co.nz/recipies/instapy/) | 172.16.20.0/24 [InstaPy](https://geek-cookbook.funkypenguin.co.nz/recipes/instapy/) | 172.16.20.0/24
[Turtle Pool](https://geek-cookbook.funkypenguin.co.nz/recipies/turtle-pool/) | 172.16.21.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/recipies/miniflux/) | 172.16.22.0/24 [MiniFlux](https://geek-cookbook.funkypenguin.co.nz/recipes/miniflux/) | 172.16.22.0/24
[Gitlab Runner](https://geek-cookbook.funkypenguin.co.nz/recipies/gitlab-runner/) | 172.16.23.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/recipies/munin/) | 172.16.24.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/recipies/cryptonote-mining-pool/masari/) | 172.16.25.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/recipies/cryptonote-mining-pool/athena/) | 172.16.26.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/recipies/bookstack/) | 172.16.33.0/24 [Bookstack](https://geek-cookbook.funkypenguin.co.nz/recipes/bookstack/) | 172.16.33.0/24
[Swarmprom](https://geek-cookbook.funkypenguin.co.nz/recipies/swarmprom/) | 172.16.34.0/24 [Swarmprom](https://geek-cookbook.funkypenguin.co.nz/recipes/swarmprom/) | 172.16.34.0/24
[Realms](https://geek-cookbook.funkypenguin.co.nz/recipies/realms/) | 172.16.35.0/24 [Realms](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.35.0/24
[ElkarBackup](https://geek-cookbook.funkypenguin.co.nz/recipies/elkarbackp/) | 172.16.36.0/24 [ElkarBackup](https://geek-cookbook.funkypenguin.co.nz/recipes/elkarbackp/) | 172.16.36.0/24
[Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipies/realms/) | 172.16.37.0/24 [Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipes/realms/) | 172.16.37.0/24
[Shaarli](https://geek-cookbook.funkypenguin.co.nz/recipies/shaarli/) | 172.16.38.0/24 [Shaarli](https://geek-cookbook.funkypenguin.co.nz/recipes/shaarli/) | 172.16.38.0/24
[KeyCloud](https://geek-cookbook.funkypenguin.co.nz/recipies/keycloak/) | 172.16.39.0/24 [KeyCloud](https://geek-cookbook.funkypenguin.co.nz/recipes/keycloak/) | 172.16.39.0/24
[MatterMost](https://geek-cookbook.funkypenguin.co.nz/recipies/mattermost/) | 172.16.40.0/24 [MatterMost](https://geek-cookbook.funkypenguin.co.nz/recipes/mattermost/) | 172.16.40.0/24
[PrivateBin](https://geek-cookbook.funkypenguin.co.nz/recipies/privatebin/) | 172.16.41.0/24 [PrivateBin](https://geek-cookbook.funkypenguin.co.nz/recipes/privatebin/) | 172.16.41.0/24
[Mayan EDMS](https://geek-cookbook.funkypenguin.co.nz/recipies/mayan-edms/) | 172.16.42.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/recipies/hackmd/) | 172.16.43.0/24 [Hack MD](https://geek-cookbook.funkypenguin.co.nz/recipes/hackmd/) | 172.16.43.0/24
[FlightAirMap](https://geek-cookbook.funkypenguin.co.nz/recipies/flightairmap/) | 172.16.44.0/24 [FlightAirMap](https://geek-cookbook.funkypenguin.co.nz/recipes/flightairmap/) | 172.16.44.0/24
[Wetty](https://geek-cookbook.funkypenguin.co.nz/recipies/wetty/) | 172.16.45.0/24 [Wetty](https://geek-cookbook.funkypenguin.co.nz/recipes/wetty/) | 172.16.45.0/24
## Chef's Notes ## Chef's Notes

View File

@@ -47,7 +47,7 @@ I created **/var/data/oauth_proxy/authenticated-emails.txt**, and add my own ema
### Configure stack ### Configure stack
You'll need to define a service for the oauth_proxy in every stack which you want to protect. Here's an example from the [Wekan](/recipies/wekan/) recipe: You'll need to define a service for the oauth_proxy in every stack which you want to protect. Here's an example from the [Wekan](/recipes/wekan/) recipe:
``` ```
proxy: proxy:

View File

@@ -1,3 +1,3 @@
# HA Docker Swarm # # HA Docker Swarm #
This section introduces the HA Docker Swarm, which will be the basis for all the recipies discussed. This section introduces the HA Docker Swarm, which will be the basis for all the recipes discussed.

View File

@@ -1,3 +1,3 @@
# Recipies # # Recipies #
Now follows individual recipies. Now follows individual recipes.

View File

@@ -1,3 +1,3 @@
# Reference # # Reference #
Now follows useful elements which are not full recipies. Now follows useful elements which are not full recipes.

View File

@@ -6,12 +6,12 @@ I regularly donate to / sponsor the following projects. **Join me** in supportin
| Project | Donate via.. | Project | Donate via..
| ------------- |-------------| | ------------- |-------------|
| [Kanboard](/recipies/kanboard/) | [PayPal](https://kanboard.org/#donations) | [Kanboard](/recipes/kanboard/) | [PayPal](https://kanboard.org/#donations)
| [Miniflux](/recipies/miniflux/) | [PayPal](https://miniflux.net/#donations) | [Miniflux](/recipes/miniflux/) | [PayPal](https://miniflux.net/#donations)
| [SABnzbd](/recipies/autopirate/sabnzbd/) | [Paypal / Credit Card / Crypto](https://sabnzbd.org/donate/) | [SABnzbd](/recipes/autopirate/sabnzbd/) | [Paypal / Credit Card / Crypto](https://sabnzbd.org/donate/)
| [Radarr](/recipies/autopirate/radarr/) | [OpenCollective](https://opencollective.com/radarr#budget) | [Radarr](/recipes/autopirate/radarr/) | [OpenCollective](https://opencollective.com/radarr#budget)
| [Sonarr](/recipies/autopirate/sonarr/) | [BitCoin/CC](https://sonarr.tv/donate) | [Sonarr](/recipes/autopirate/sonarr/) | [BitCoin/CC](https://sonarr.tv/donate)
| [NZBHydra](/recipies/autopirate/nzbhydra/) | [Cryptocurrency](https://github.com/theotherp/nzbhydra2) | [NZBHydra](/recipes/autopirate/nzbhydra/) | [Cryptocurrency](https://github.com/theotherp/nzbhydra2)
| [Calibre](https://calibre-ebook.com/) | [Credit Card](https://calibre-ebook.com/donate) / [Patreon](https://www.patreon.com/kovidgoyal) / [LibrePay](https://liberapay.com/kovidgoyal/donate) | [Calibre](https://calibre-ebook.com/) | [Credit Card](https://calibre-ebook.com/donate) / [Patreon](https://www.patreon.com/kovidgoyal) / [LibrePay](https://liberapay.com/kovidgoyal/donate)
| [LinuxServer.io](https://www.linuxserver.io) | [PayPal](https://www.linuxserver.io/donate) | [LinuxServer.io](https://www.linuxserver.io) | [PayPal](https://www.linuxserver.io/donate)
| [John Van Sickle's FFmpeg static builds](https://www.johnvansickle.com/ffmpeg/) | [Patreon](https://www.patreon.com/johnvansickle) | [John Van Sickle's FFmpeg static builds](https://www.johnvansickle.com/ffmpeg/) | [Patreon](https://www.patreon.com/johnvansickle)

View File

@@ -34,72 +34,72 @@ pages:
- Docker Swarm Mode: ha-docker-swarm/docker-swarm-mode.md - Docker Swarm Mode: ha-docker-swarm/docker-swarm-mode.md
- Traefik: ha-docker-swarm/traefik.md - Traefik: ha-docker-swarm/traefik.md
- Registry: ha-docker-swarm/registry.md - Registry: ha-docker-swarm/registry.md
- Mail Server: recipies/mail.md - Mail Server: recipes/mail.md
- Duplicity: recipies/duplicity.md - Duplicity: recipes/duplicity.md
- Chef's Favorites: - Chef's Favorites:
- Huginn: recipies/huginn.md - Huginn: recipes/huginn.md
- Kanboard: recipies/kanboard.md - Kanboard: recipes/kanboard.md
- Miniflux: recipies/miniflux.md - Miniflux: recipes/miniflux.md
- Auto Pirate: - Auto Pirate:
- Start: recipies/autopirate.md - Start: recipes/autopirate.md
- SABnzbd: recipies/autopirate/sabnzbd.md - SABnzbd: recipes/autopirate/sabnzbd.md
- NZBGet: recipies/autopirate/nzbget.md - NZBGet: recipes/autopirate/nzbget.md
- Rtorrent: recipies/autopirate/rtorrent.md - Rtorrent: recipes/autopirate/rtorrent.md
- Sonarr: recipies/autopirate/sonarr.md - Sonarr: recipes/autopirate/sonarr.md
- Radarr: recipies/autopirate/radarr.md - Radarr: recipes/autopirate/radarr.md
- Mylar: recipies/autopirate/mylar.md - Mylar: recipes/autopirate/mylar.md
- Lazy Librarian: recipies/autopirate/lazylibrarian.md - Lazy Librarian: recipes/autopirate/lazylibrarian.md
- Headphones: recipies/autopirate/headphones.md - Headphones: recipes/autopirate/headphones.md
- Lidarr: recipies/autopirate/lidarr.md - Lidarr: recipes/autopirate/lidarr.md
- NZBHydra: recipies/autopirate/nzbhydra.md - NZBHydra: recipes/autopirate/nzbhydra.md
- NZBHydra 2: recipies/autopirate/nzbhydra2.md - NZBHydra 2: recipes/autopirate/nzbhydra2.md
- Ombi: recipies/autopirate/ombi.md - Ombi: recipes/autopirate/ombi.md
- Jackett: recipies/autopirate/jackett.md - Jackett: recipes/autopirate/jackett.md
- Heimdall: recipies/autopirate/heimdall.md - Heimdall: recipes/autopirate/heimdall.md
- End: recipies/autopirate/end.md - End: recipes/autopirate/end.md
- NextCloud: recipies/nextcloud.md - NextCloud: recipes/nextcloud.md
- Plex: recipies/plex.md - Plex: recipes/plex.md
- Emby: recipies/emby.md - Emby: recipes/emby.md
- Munin: recipies/munin.md - Munin: recipes/munin.md
- Home Assistant: recipies/homeassistant.md - Home Assistant: recipes/homeassistant.md
- OwnTracks: recipies/owntracks.md - OwnTracks: recipes/owntracks.md
- PrivateBin: recipies/privatebin.md - PrivateBin: recipes/privatebin.md
- Swarmprom: recipies/swarmprom.md - Swarmprom: recipes/swarmprom.md
- Turtle Pool: recipies/turtle-pool.md - Turtle Pool: recipes/turtle-pool.md
- Menu: - Menu:
- Bookstack: recipies/bookstack.md - Bookstack: recipes/bookstack.md
- CryptoMiner: - CryptoMiner:
- Start: recipies/cryptominer.md - Start: recipes/cryptominer.md
- Mining Rig: recipies/cryptominer/mining-rig.md - Mining Rig: recipes/cryptominer/mining-rig.md
- AMD GPU: recipies/cryptominer/amd-gpu.md - AMD GPU: recipes/cryptominer/amd-gpu.md
- NVidia GPU: recipies/cryptominer/nvidia-gpu.md - NVidia GPU: recipes/cryptominer/nvidia-gpu.md
- Mining Pools : recipies/cryptominer/mining-pool.md - Mining Pools : recipes/cryptominer/mining-pool.md
- Wallets : recipies/cryptominer/wallet.md - Wallets : recipes/cryptominer/wallet.md
- Exchanges: recipies/cryptominer/exchange.md - Exchanges: recipes/cryptominer/exchange.md
- Minerhotel: recipies/cryptominer/minerhotel.md - Minerhotel: recipes/cryptominer/minerhotel.md
- Monitoring: recipies/cryptominer/monitor.md - Monitoring: recipes/cryptominer/monitor.md
- Profit!: recipies/cryptominer/profit.md - Profit!: recipes/cryptominer/profit.md
- Calibre-Web: recipies/calibre-web.md - Calibre-Web: recipes/calibre-web.md
- Ghost: recipies/ghost.md - Ghost: recipes/ghost.md
- GitLab: recipies/gitlab.md - GitLab: recipes/gitlab.md
- GitLab Runner: recipies/gitlab-runner.md - GitLab Runner: recipes/gitlab-runner.md
- Gollum: recipies/gollum.md - Gollum: recipes/gollum.md
- InstaPy: recipies/instapy.md - InstaPy: recipes/instapy.md
- Piwik: recipies/piwik.md - Piwik: recipes/piwik.md
- Portainer: recipies/portainer.md - Portainer: recipes/portainer.md
- Realms: recipies/realms.md - Realms: recipes/realms.md
- Tiny Tiny RSS: recipies/tiny-tiny-rss.md - Tiny Tiny RSS: recipes/tiny-tiny-rss.md
- Wallabag: recipies/wallabag.md - Wallabag: recipes/wallabag.md
- Wekan: recipies/wekan.md - Wekan: recipes/wekan.md
- Wetty: recipies/wetty.md - Wetty: recipes/wetty.md
# - CryptoNote Mining Pool: # - CryptoNote Mining Pool:
# - Start: recipies/cryptonote-mining-pool.md # - Start: recipes/cryptonote-mining-pool.md
# - Masari: recipies/cryptonote-mining-pool/masari.md # - Masari: recipes/cryptonote-mining-pool/masari.md
# - Athena: recipies/cryptonote-mining-pool/athena.md # - Athena: recipes/cryptonote-mining-pool/athena.md
# - SSO Stack: # - SSO Stack:
# - Start: recipies/sso-stack.md # - Start: recipes/sso-stack.md
# - OpenLDAP: recipies/sso-stack/openldap.md # - OpenLDAP: recipes/sso-stack/openldap.md
# - KeyCloak: recipies/sso-stack/keycloak.md # - KeyCloak: recipes/sso-stack/keycloak.md
- Reference: - Reference:
- OAuth Proxy: reference/oauth_proxy.md - OAuth Proxy: reference/oauth_proxy.md
- Data Layout: reference/data_layout.md - Data Layout: reference/data_layout.md