1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2026-01-06 21:39:19 +00:00

Fix more broken links, add lazy-loading to images

This commit is contained in:
David Young
2022-07-10 11:01:46 +12:00
parent 635b43afb2
commit 76e919afe9
78 changed files with 166 additions and 155 deletions

View File

@@ -5,7 +5,7 @@ description: A self-hosted internet archiving solution
[ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) is a self-hosted internet archiving solution to collect and save sites you wish to view offline.
![Archivebox Screenshot](../images/archivebox.png)
![Archivebox Screenshot](../images/archivebox.png){ loading=lazy }
Features include:

View File

@@ -5,7 +5,7 @@
[Headphones](https://github.com/rembo10/headphones) is an automated music downloader for NZB and Torrent, written in Python. It supports [SABnzbd][sabnzbd], [NZBget][nzbget], Transmission, µTorrent, Deluge and Blackhole.
![Headphones Screenshot](../../images/headphones.png)
![Headphones Screenshot](../../images/headphones.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -8,7 +8,7 @@ Once the cutting edge of the "internet" (_pre-world-wide-web and mosiac days_),
A good starter for the usenet scene is <https://www.reddit.com/r/usenet/>. Because it's so damn complicated, a host of automated tools exist to automate the process of finding, downloading, and managing content. The tools included in this recipe are as per the following example:
![Autopirate Screenshot](../../images/autopirate.png)
![Autopirate Screenshot](../../images/autopirate.png){ loading=lazy }
This recipe presents a method to combine these tools into a single swarm deployment, and make them available securely.
@@ -55,7 +55,7 @@ Since this recipe is so long, and so many of the tools are optional to the final
Related:
* [X] [Traefik Forward Auth](docker-swarm/traefik-forward-auth/) to secure your Traefik-exposed services with an additional layer of authentication
* [X] [Traefik Forward Auth](/docker-swarm/traefik-forward-auth/) to secure your Traefik-exposed services with an additional layer of authentication
## Preparation

View File

@@ -11,7 +11,7 @@ description: Jackett works as a proxy server, standardizing your apps' (Radarr /
This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
![Jackett Screenshot](../../images/jackett.png)
![Jackett Screenshot](../../images/jackett.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -16,7 +16,7 @@ description: LazyLibrarian is a tool to follow authors and manage your ebook / a
* AutoAdd feature for book management tools like Calibre which must have books in flattened directory structure, or use calibre to import your books into an existing calibre library
* LazyLibrarian can also be used to search for and download magazines, and monitor for new issues
![Lazy Librarian Screenshot](../../images/lazylibrarian.png)
![Lazy Librarian Screenshot](../../images/lazylibrarian.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -9,7 +9,7 @@ description: Lidarr is an automated music downloader for NZB and Torrent
[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][radarr] and [Sonarr][sonarr]. It's blazingly fast, and includes beautiful album/artist art. Lidarr supports [SABnzbd][sabnzbd], [NZBGet][nzbget], Transmission, µTorrent, Deluge and Blackhole (_just like Sonarr / Radarr_)
![Lidarr Screenshot](../../images/lidarr.png)
![Lidarr Screenshot](../../images/lidarr.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -10,7 +10,7 @@ description: NZBHydra is a meta search engine for NZB indexers, and can be used
[NZBHydra2](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 Screenshot](../../images/nzbhydra2.png)
![NZBHydra Screenshot](../../images/nzbhydra2.png){ loading=lazy }
Features include:

View File

@@ -18,7 +18,7 @@ User management system (_supports plex.tv, Emby and local accounts_)
* Will show if the request is already on plex or even if it's already monitored.
* Automatically updates the status of requests when they are available on Plex/Emby/Jellyfin
![Ombi Screenshot](../../images/ombi.png)
![Ombi Screenshot](../../images/ombi.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -12,7 +12,7 @@ description: Prowlarr aggregates nzb/torrent searches. Imagine NZBHydra and Jack
Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with [Lidarr][lidarr], [Mylar3][mylar], [Radarr][radarr], [Readarr][readarr], and [Sonarr][sonarr] offering complete management of your indexers with no per app Indexer setup required!
![Prowlarr Screenshot](../../images/prowlarr.png)
![Prowlarr Screenshot](../../images/prowlarr.png){ loading=lazy }
Fancy features include:

View File

@@ -24,7 +24,7 @@ description: Radarr is a tool for finding, downloading and managing movies, and
* And a beautiful UI
* Importing Metadata such as trailers or subtitles
![Radarr Screenshot](../../images/radarr.png)
![Radarr Screenshot](../../images/radarr.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -10,7 +10,7 @@ description: Readarr is "Sonarr/Radarr for eBooks and audiobooks, and plays perf
[Readarr](https://github.com/Readarr/Readarr), in the fine tradition of [Radarr][radarr] and [Sonarr][sonarr], is a tool for "sourcing" eBooks, using usenet or bittorrent indexers.
![Readarr Screenshot](../../images/readarr.png)
![Readarr Screenshot](../../images/readarr.png){ loading=lazy }
Features include:

View File

@@ -10,7 +10,7 @@ description: ruTorrent (looks like uTorrent) is a popular web UI frontend to rto
[RTorrent](http://rakshasa.github.io/rtorrent) is a popular CLI-based bittorrent client, and [ruTorrent](https://github.com/Novik/ruTorrent) is a powerful web interface for rtorrent.
![Rtorrent Screenshot](../../images/rtorrent.png)
![Rtorrent Screenshot](../../images/rtorrent.png){ loading=lazy }
## Choose incoming port

View File

@@ -12,7 +12,7 @@ description: SABnzbd is a tool for downloading "content" from Usenet providers,
SABnzbd is a 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){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -10,7 +10,7 @@ description: Sonarr is a tool for finding, downloading and managing TV series*,
[Sonarr](https://sonarr.tv/) is a tool for finding, downloading and managing your TV series.
![Sonarr Screenshot](../../images/sonarr.png)
![Sonarr Screenshot](../../images/sonarr.png){ loading=lazy }
## Inclusion into AutoPirate

View File

@@ -13,7 +13,7 @@ Heard about the [latest password breach](https://www.databreaches.net) (*since l
Enter Bitwarden..
![BitWarden Screenshot](../images/bitwarden.png)
![BitWarden Screenshot](../images/bitwarden.png){ loading=lazy }
Bitwarden is a free and open source password management solution for individuals, teams, and business organizations. While Bitwarden does offer a paid / hosted version, the free version comes with the following (*better than any other free password manager!*):

View File

@@ -9,7 +9,7 @@ BookStack is a simple, self-hosted, easy-to-use platform for organising and stor
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){ loading=lazy }
I like to protect my public-facing web UIs with an [oauth_proxy](/reference/oauth_proxy), ensuring that if an application bug (or a user misconfiguration) exposes the app to unplanned public scrutiny, I have a second layer of defense.

View File

@@ -9,7 +9,7 @@ The [AutoPirate](/recipes/autopirate/) recipe includes [Lazy Librarian](https://
[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){ loading=lazy }
Of course, you probably already manage your eBooks using the excellent [Calibre](https://calibre-ebook.com/), but this is primarily a (_powerful_) desktop application. Calibre-Web is an alternative way to manage / view your existing Calibre database, meaning you can continue to use Calibre on your desktop if you wish.

View File

@@ -8,7 +8,7 @@ Collabora Online Development Edition (or "[CODE](https://www.collaboraoffice.com
It's basically the [LibreOffice](https://www.libreoffice.org/) interface in a web-browser. CODE is not a standalone app, it's a backend intended to be accessed via "WOPI" from an existing interface (_in our case, [NextCloud](/recipes/nextcloud/)_)
![CODE Screenshot](../images/collabora-online.png)
![CODE Screenshot](../images/collabora-online.png){ loading=lazy }
## Ingredients
@@ -36,7 +36,7 @@ What if we're running multiple nodes in our swarm, and nginx ends up on a differ
Here's a (_highly technical_) diagram to illustrate:
![CODE traffic flow](../images/collabora-traffic-flow.png)
![CODE traffic flow](../images/collabora-traffic-flow.png){ loading=lazy }
### Setup data locations
@@ -301,7 +301,7 @@ Visit `https://collabora.<yourdomain\>/l/loleaflet/dist/admin/admin.html` and co
In NextCloud, Install the **Collabora Online** app (<https://apps.nextcloud.com/apps/richdocuments>), and then under **Settings -> Collabora Online**, set your Collabora Online Server to ```https://collabora.<your domain>```
![CODE Screenshot](../images/collabora-online-in-nextcloud.png)
![CODE Screenshot](../images/collabora-online-in-nextcloud.png){ loading=lazy }
Now browse your NextCloud files. Click the plus (+) sign to create a new document, and create either a new document, spreadsheet, or presentation. Name your document and then click on it. If Collabora is setup correctly, you'll shortly enter into the rich editing interface provided by Collabora :)

View File

@@ -9,7 +9,7 @@ Are you a [l33t h@x0r](https://en.wikipedia.org/wiki/Hackers_(film))? Do you nee
[^1]: [Government Communications Headquarters](https://en.wikipedia.org/wiki/GCHQ), commonly known as GCHQ, is an intelligence and security organisation responsible for providing signals intelligence and information assurance to the government and armed forces of the United Kingdom
![CyberChef Screenshot](../images/cyberchef.png)
![CyberChef Screenshot](../images/cyberchef.png){ loading=lazy }
[CyberChef](https://github.com/gchq/CyberChef) is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more.

View File

@@ -6,7 +6,7 @@ description: A boring recipe to backup your exciting stuff. Boring is good.
Intro
![Duplicity Screenshot](../images/duplicity.png)
![Duplicity Screenshot](../images/duplicity.png){ loading=lazy }
[Duplicity](https://duplicity.gitlab.io/duplicity-web/) backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.

View File

@@ -11,7 +11,7 @@ Don't be like [Cameron](http://haltandcatchfire.wikia.com/wiki/Cameron_Howe). Ba
ElkarBackup is a free open-source backup solution based on RSync/RSnapshot. It's basically a web wrapper around rsync/rsnapshot, which means that your backups are just files on a filesystem, utilising hardlinks for tracking incremental changes. I find this result more reassuring than a blob of compressed, (encrypted?) data that [more sophisticated backup solutions](/recipes/duplicity/) would produce for you.
![ElkarBackup Screenshot](../images/elkarbackup.png)
![ElkarBackup Screenshot](../images/elkarbackup.png){ loading=lazy }
## Details
@@ -153,11 +153,11 @@ Launch the ElkarBackup stack by running ```docker stack deploy elkarbackup -c <p
Log into your new instance at https://**YOUR-FQDN**, with user "root" and the password default password "root":
![ElkarBackup Login Screen](/images/elkarbackup-setup-1.png)
![ElkarBackup Login Screen](/images/elkarbackup-setup-1.png){ loading=lazy }
First thing you do, change your password, using the gear icon, and "Change Password" link:
![ElkarBackup Login Screen](/images/elkarbackup-setup-2.png)
![ElkarBackup Login Screen](/images/elkarbackup-setup-2.png){ loading=lazy }
Have a read of the [Elkarbackup Docs](https://docs.elkarbackup.org/docs/introduction.html) - they introduce the concept of **clients** (_hosts containing data to be backed up_), **jobs** (_what data gets backed up_), **policies** (_when is data backed up and how long is it kept_).
@@ -216,7 +216,7 @@ Repeat after me : "**It's not a backup unless you've tested a restore**"
To restore files form a job, click on the "Restore" button in the WebUI, while on the **Jobs** tab:
![ElkarBackup Login Screen](/images/elkarbackup-setup-3.png)
![ElkarBackup Login Screen](/images/elkarbackup-setup-3.png){ loading=lazy }
This takes you to a list of backup names and file paths. You can choose to download the entire contents of the backup from your browser as a .tar.gz, or to restore the backup to the client. If you click on the **name** of the backup, you can also drill down into the file structure, choosing to restore a single file or directory.

View File

@@ -7,7 +7,7 @@ description: Kick-ass media player!
[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){ loading=lazy }
I've started experimenting with Emby as an alternative to Plex, because of the advanced [parental controls](https://github.com/MediaBrowser/Wiki/wiki/Parental-Controls) it offers. Based on my experimentation thus far, I have a "**kid-safe**" profile which automatically logs in, and only displays kid-safe content, based on ratings.

View File

@@ -6,7 +6,7 @@ description: Ghost - Beautiful online publicatio (who you gonna call?)
[Ghost](https://ghost.org) is "a fully open source, hackable platform for building and running a modern online publication."
![Ghost screenshot](/images/ghost.png)
![Ghost screenshot](/images/ghost.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -16,7 +16,7 @@ Gollum pages:
* Can be edited with your favourite system editor or IDE (_changes will be visible after committing_) or with the built-in web interface.
* Can be displayed in all versions (_commits_).
![Gollum Screenshot](../images/gollum.png)
![Gollum Screenshot](../images/gollum.png){ loading=lazy }
As you'll note in the (_real world_) screenshot above, my requirements for a personal wiki are:

View File

@@ -6,7 +6,7 @@ description: Assist your home automation
Home Assistant is a home automation platform written in Python, with extensive support for 3rd-party home-automation platforms including Xaomi, Phillips Hue, and a [bazillion](https://home-assistant.io/components/) others.
![Home Assistant Screenshot](../images/homeassistant.png)
![Home Assistant Screenshot](../images/homeassistant.png){ loading=lazy }
This recipie combines the [extensibility](https://home-assistant.io/components/) of [Home Assistant](https://home-assistant.io/) with the flexibility of [InfluxDB](https://docs.influxdata.com/influxdb/v1.4/) (_for time series data store_) and [Grafana](https://grafana.com/) (_for **beautiful** visualisation of that data_).

View File

@@ -8,7 +8,7 @@ description: Automate your fake Instagram life with automated fakery!
What's an Instagram bot? Basically, you feed the bot your Instagram user/password, and it executes follows/unfollows/likes/comments on your behalf based on rules you set. (_I set my bot to like one photo tagged with "[#penguin](https://www.instagram.com/explore/tags/penguin/?hl=en)" per-run_)
![InstaPy Screenshot](../images/instapy.png)
![InstaPy Screenshot](../images/instapy.png){ loading=lazy }
Great power, right? A client (_yes, you can [hire](https://www.funkypenguin.co.nz/) me!_) asked me to integrate InstaPy into their swarm, and this recipe is the result.

View File

@@ -6,7 +6,7 @@
The intention of this recipe is to provide a local IPFS cluster for the purpose of providing persistent storage for the various components of the recipes
![IPFS Screenshot](../images/ipfs.png)
![IPFS Screenshot](../images/ipfs.png){ loading=lazy }
Description. IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository.

View File

@@ -7,7 +7,7 @@ description: Jellyfin is best described as "like Emby but really FOSS"
[Jellyfin](https://jellyfin.org/) is best described as "_like [Emby](/recipes/emby) but really [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software)_".
![Jellyfin Screenshot](../images/jellyfin.png)
![Jellyfin Screenshot](../images/jellyfin.png){ loading=lazy }
If it looks very similar as Emby, is because it started as a fork of it, but it has evolved since them. For a complete explanation of the why, look [here](https://jellyfin.org/docs/general/about.html).

View File

@@ -19,7 +19,7 @@ Features include:
* Free, open source and self-hosted
* Super simple installation
![Kanboard screenshot](/images/kanboard.png)
![Kanboard screenshot](/images/kanboard.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -24,11 +24,11 @@ You start in the "Master" realm - but mouseover the realm name, to a dropdown bo
### Create Realm
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-1.png)
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-1.png){ loading=lazy }
Enter a name for your new realm, and click "_Create_":
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-2.png)
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-2.png){ loading=lazy }
### Setup User Federation
@@ -44,7 +44,7 @@ Once in the desired realm, click on **User Federation**, and click **Add Provide
Save your changes, and then navigate back to "User Federation" > Your LDAP name > Mappers:
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-3.png)
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-3.png){ loading=lazy }
For each of the following mappers, click the name, and set the "_Read Only_" flag to "_Off_" (_this enables 2-way sync between KeyCloak and OpenLDAP_)
@@ -53,7 +53,7 @@ For each of the following mappers, click the name, and set the "_Read Only_" fla
* email
* first name
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-4.png)
![KeyCloak Add Realm Screenshot](/images/sso-stack-keycloak-4.png){ loading=lazy }
## Summary

View File

@@ -16,17 +16,17 @@ Existing:
Within the "Master" realm (_no need for more realms yet_), navigate to **Manage** -> **Users**, and then click **Add User** at the top right:
![Navigating to the add user interface in Keycloak](/images/keycloak-add-user-1.png)
![Navigating to the add user interface in Keycloak](/images/keycloak-add-user-1.png){ loading=lazy }
Populate your new user's username (it's the only mandatory field)
![Populating a username in the add user interface in Keycloak](/images/keycloak-add-user-2.png)
![Populating a username in the add user interface in Keycloak](/images/keycloak-add-user-2.png){ loading=lazy }
### Set User Credentials
Once your user is created, to set their password, click on the "**Credentials**" tab, and procede to reset it. Set the password to non-temporary, unless you like extra work!
![Resetting a user's password in Keycloak](/images/keycloak-add-user-3.png)
![Resetting a user's password in Keycloak](/images/keycloak-add-user-3.png){ loading=lazy }
## Summary

View File

@@ -8,7 +8,7 @@ description: Kick-ass OIDC and identity management
KeyCloak's OpenID provider can also be used in combination with [Traefik Forward Auth](/docker-swarm/traefik-forward-auth/), to protect [vulnerable services](/recipes/autopirate/nzbget/) with an extra layer of authentication.
![KeyCloak Screenshot](../../images/keycloak.png)
![KeyCloak Screenshot](../../images/keycloak.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -22,11 +22,11 @@ Having an authentication provider is not much use until you start authenticating
Within the "Master" realm (*no need for more realms yet*), navigate to **Clients**, and then click **Create** at the top right:
![Navigating to the add user interface in Keycloak](/images/keycloak-add-client-1.png)
![Navigating to the add user interface in Keycloak](/images/keycloak-add-client-1.png){ loading=lazy }
Enter a name for your client (*remember, we're authenticating **applications** now, not users, so use an application-specific name*):
![Adding a client in KeyCloak](/images/keycloak-add-client-2.png)
![Adding a client in KeyCloak](/images/keycloak-add-client-2.png){ loading=lazy }
### Configure Client
@@ -35,13 +35,13 @@ Once your client is created, set at **least** the following, and click **Save**
* **Access Type** : Confidential
* **Valid Redirect URIs** : <The URIs you want to protect\>
![Set KeyCloak client to confidential access type, add redirect URIs](/images/keycloak-add-client-3.png)
![Set KeyCloak client to confidential access type, add redirect URIs](/images/keycloak-add-client-3.png){ loading=lazy }
### Retrieve Client Secret
Now that you've changed the access type, and clicked **Save**, an additional **Credentials** tab appears at the top of the window. Click on the tab, and capture the KeyCloak-generated secret. This secret, plus your client name, is required to authenticate against KeyCloak via OIDC.
![Capture client secret from KeyCloak](/images/keycloak-add-client-4.png)
![Capture client secret from KeyCloak](/images/keycloak-add-client-4.png){ loading=lazy }
## Summary

View File

@@ -6,7 +6,7 @@ description: Bazinga! Comic book management FTW!
So you've just watched a bunch of superhero movies, and you're suddenly inspired to deep-dive into the weird world of comic books? You're already rocking [AutoPirate](/recipes/autopirate/) with [Mylar](/recipes/autopirate/mylar/) and [NZBGet](/recipes/autopirate/nzbget/) to grab content, but how to manage and enjoy your growing collection?
![Komga Screenshot](../images/komga.png)
![Komga Screenshot](../images/komga.png){ loading=lazy }
[Komga](https://komga.org/) is a media server with a beautifully slick interface, allowing you to read your comics / manga in CBZ, CBR, PDF and epub format. Komga includes an integrated web reader, as well as a [Tachiyomi](https://tachiyomi.org/) plugin and an OPDS server for integration with other mobile apps such as [Chunky on iPad](http://chunkyreader.com/).

View File

@@ -2,7 +2,7 @@
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){ loading=lazy }
I've [reviewed Miniflux in detail on my blog](https://www.funkypenguin.co.nz/review/miniflux-lightweight-self-hosted-rss-reader/), but features (among many) that I appreciate:

View File

@@ -9,7 +9,7 @@ description: A tasty tool to manage your meals and shopping list, on Docker swar
Easily add recipes into your database by providing the url[^penguinfood], and mealie will automatically import the relevant data or add a family recipe with the UI editor.
![Mealie Screenshot](../images/mealie.png)
![Mealie Screenshot](../images/mealie.png){ loading=lazy }
Mealie also provides a secure API for interactions from 3rd party applications.
@@ -88,7 +88,7 @@ networks:
Launch the mealie stack by running ```docker stack deploy mealie -c <path -to-docker-compose.yml>```. The first time you access Mealie at https://**YOUR FQDN**, you might think there's something wrong. There are **no** recipes, and no instructions. Hover over the little plus sign at the bottom right, and within a second, two icons appear. Click the "link" icon to import a recipe from a URL:
![Mealie Screenshot](../images/mealie-import-recipe.png)
![Mealie Screenshot](../images/mealie-import-recipe.png){ loading=lazy }
[^penguinfood]: I scraped all these recipes from <https://www.food.com/search/penguin>
[^1]: If you plan to use Mealie for fancy things like an early-morning alarm to defrost the chicken, you may need to customize the [Traefik Forward Auth][tfa] rules, or even remove them entirely, for unauthenticated API access.

View File

@@ -6,7 +6,7 @@ description: A lightweight minimalist RSS reader
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){ loading=lazy }
I've [reviewed Miniflux in detail on my blog](https://www.funkypenguin.co.nz/review/miniflux-lightweight-self-hosted-rss-reader/), but features (among many) that I appreciate:

View File

@@ -11,7 +11,7 @@ However, at its simplest, Minio allows you to expose a local filestructure via t
Under a more advanced configuration, Minio runs in distributed mode, with [features](https://docs.min.io/minio/baremetal/concepts/feature-overview.html) including high-availability, mirroring, erasure-coding, and "bitrot detection".
![Minio Screenshot](../images/minio.png)
![Minio Screenshot](../images/minio.png){ loading=lazy }
Possible use-cases:

View File

@@ -7,7 +7,7 @@ description: Network resource monitoring tool for quick analysis
Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play. A default installation provides a lot of graphs with almost no work.
![Munin Screenshot](../images/munin.png)
![Munin Screenshot](../images/munin.png){ loading=lazy }
Using Munin you can easily monitor the performance of your computers, networks, SANs, applications, weather measurements and whatever comes to mind. It makes it easy to determine "what's different today" when a performance problem crops up. It makes it easy to see how you're doing capacity-wise on any resources.

View File

@@ -8,7 +8,7 @@ description: Share docs. Backup files. Share stuff.
- <https://en.wikipedia.org/wiki/Nextcloud>
![NextCloud Screenshot](../images/nextcloud.png)
![NextCloud Screenshot](../images/nextcloud.png){ loading=lazy }
This recipe is based on the official NextCloud docker image, but includes seprate containers ofor the database (_MariaDB_), Redis (_for transactional locking_), Apache Solr (_for full-text searching_), automated database backup, (_you *do* backup the stuff you care about, right?_) and a separate cron container for running NextCloud's 15-min crons.

View File

@@ -12,7 +12,7 @@ Nightscout is "*...an open source, DIY project that allows real time access to a
NightScout frees you from the CGM's supplier's limited and proprietary app, and unlocks advanced charting, alarming, and sharing features :muscle:
![Nightscout Screenshot](../images/nightscout.png)
![Nightscout Screenshot](../images/nightscout.png){ loading=lazy }
[Nightscout](https://nightscout.github.io/) is _the_ standard for open-source CGM data collection, used by diabetics and those who love them, to store, share, and retrieve blood-glocuse data, in order to live healthier and happier lives. It's used as the data sharing/syncing backend for all the popular smartphone apps, including [xDrip+](https://github.com/NightscoutFoundation/xDrip) (*Android*) and [Spike App](https://spike-app.com/) (*iOS*).

View File

@@ -6,7 +6,7 @@ description: Spy on yourself.
[OwnTracks](https://owntracks.org/) allows you to keep track of your own location. You can build your private location diary or share it with your family and friends. OwnTracks is open-source and uses open protocols for communication so you can be sure your data stays secure and private.
![OwnTracks Screenshot](../images/owntracks.png)
![OwnTracks Screenshot](../images/owntracks.png){ loading=lazy }
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:

View File

@@ -6,7 +6,7 @@ description: Easily index, search, and view archive all of your scanned dead-tre
Paper is a nightmare. Environmental issues aside, theres no excuse for it in the 21st century. It takes up space, collects dust, doesnt support any form of a search feature, indexing is tedious, its heavy and prone to damage & loss. [^1] Paperless NG will OCR, index, and store data about your documents so they are easy to search and view, unlike that hulking metal file cabinet you have in your office.
![Paperless Screenshot](../images/paperless-screenshot.png)
![Paperless Screenshot](../images/paperless-screenshot.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -7,7 +7,7 @@ description: ML-powered private photo hosting
[Photoprism™](https://github.com/photoprism/photoprism) "is a server-based application for browsing, organizing and sharing your personal photo collection. It makes use of the latest technologies to automatically tag and find pictures without getting in your way. Say goodbye to solutions that force you to upload your visual memories to the cloud."
![Photoprism Screenshot](../images/photoprism.png)
![Photoprism Screenshot](../images/photoprism.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -6,7 +6,7 @@ description: Is that IP address in use?
phpIPAM is an open-source web IP address management application (_IPAM_). Its goal is to provide light, modern and useful IP address management. It is php-based application with MySQL database backend, using jQuery libraries, ajax and HTML5/CSS3 features.
![phpIPAM Screenshot](../images/phpipam.png)
![phpIPAM Screenshot](../images/phpipam.png){ loading=lazy }
phpIPAM fulfils a non-sexy, but important role - It helps you manage your IP address allocation.

View File

@@ -11,7 +11,7 @@ description: A UI to make Docker less geeky
Portainer attempts to take the "geekiness" out of containers, by wrapping all the jargon and complexity in a shiny UI and some simple abstractions. It's a great addition to any stack, especially if you're just starting your containerization journey!
![Portainer Screenshot](../images/portainer.png)
![Portainer Screenshot](../images/portainer.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"
@@ -111,7 +111,7 @@ Launch the Portainer stack by running ```docker stack deploy portainer -c <path
Log into your new instance at https://**YOUR-FQDN**. You'll be prompted to set your admin user/password on first login. Start at "Home", and click on "Primary" to manage your swarm (*you can manage multiple swarms via one Portainer instance using the agent*):
![Portainer Home](../images/portainer-home.png)
![Portainer Home](../images/portainer-home.png){ loading=lazy }
[^1]: There are [some schenanigans](https://www.reddit.com/r/docker/comments/au9wnu/linuxserverio_templates_for_portainer/) you can do to install LinuxServer.io templates in Portainer. Don't go crying to them for support though! :crying_cat_face:

View File

@@ -7,7 +7,7 @@ description: A private imgur/pastebin, running on Docker
PrivateBin is a minimalist, open source online pastebin where the server (can) has zero knowledge of pasted data. We all need to paste data / log files somewhere when it doesn't make sense to paste it inline. With PrivateBin, you can own the hosting, access, and eventual deletion of this data.
![PrivateBin Screenshot](../images/privatebin.png)
![PrivateBin Screenshot](../images/privatebin.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -6,7 +6,7 @@ description: A git-based wiki with auth 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){ loading=lazy }
Features include:

View File

@@ -6,7 +6,7 @@ description: Stalk your ex on Facebook in your feedreader!
Do you hate having to access multiple sites to view specific content? [RSS-Bridge](https://github.com/RSS-Bridge/rss-bridge) can convert content from a wide variety of websites (*such as Reddit, Facebook, Twitter*) so that it can be viewed in a structured and consistent way, all from one place (Your feed reader)
![RSS-Bridge Screenshot](../images/rssbridge.png)
![RSS-Bridge Screenshot](../images/rssbridge.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -6,7 +6,7 @@ description: Data is beautiful
[Swarmprom](https://github.com/stefanprodan/swarmprom) is a starter kit for Docker Swarm monitoring with [Prometheus](https://prometheus.io/), [Grafana](http://grafana.org/), [cAdvisor](https://github.com/google/cadvisor), [Node Exporter](https://github.com/prometheus/node_exporter), [Alert Manager](https://github.com/prometheus/alertmanager) and [Unsee](https://github.com/cloudflare/unsee). And it's **damn** sexy. See for yourself:
![Swarmprom Screenshot](../images/swarmprom.png)
![Swarmprom Screenshot](../images/swarmprom.png){ loading=lazy }
So what do all these components do?

View File

@@ -4,7 +4,7 @@ description: Neat one-sentence description of recipe for social media previews
# <///RECIPE NAME>
![Linx Screenshot](../images/linx.png)
![Linx Screenshot](../images/linx.png){ loading=lazy }
[Linx](https://github.com/andreimarcu/linx-server) is self-hosted file/media-sharing service, which features:

View File

@@ -10,7 +10,7 @@ description: Geeky RSS reader
* Filtering (discard all articles with title matching "trump")
* Sharing articles via a unique public URL/feed
![Tiny Tiny RSS Screenshot](../images/tiny-tiny-rss.png)
![Tiny Tiny RSS Screenshot](../images/tiny-tiny-rss.png){ loading=lazy }
--8<-- "recipe-standard-ingredients.md"

View File

@@ -8,7 +8,7 @@ Wallabag is a self-hosted webapp which allows you to save URLs to "read later",
All saved data (_pages, annotations, images, tags, etc_) are stored on your own server, and can be shared/exported in a variety of formats, including ePub and PDF.
![Wallabag Screenshot](../images/wallabag.png)
![Wallabag Screenshot](../images/wallabag.png){ loading=lazy }
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)_).
@@ -174,7 +174,7 @@ You'll have noticed redis, plus the pocket/instapaper-importing containers inclu
Even with all these elements in place, you still need to enable Redis under Internal Settings -> Import, via the **admin** user in the webUI. Here's a screenshot to help you find it:
![Wallabag Imports](../images/wallabag_imports.png)
![Wallabag Imports](../images/wallabag_imports.png){ loading=lazy }
[^1]: If you wanted to expose the Wekan UI directly, you could remove the traefik-forward-auth from the design. I found the iOS app to be unreliable and clunky, so elected to leave my traefik-forward-auth enabled, and to simply use the webUI on my mobile devices instead. YMMMV.

View File

@@ -6,7 +6,7 @@ description: Terminal in a browser, baby!
[Wetty](https://github.com/krishnasrinivas/wetty) is a responsive, modern terminal, in your web browser. Yes, your browser. When combined with secure authentication and SSL encryption, it becomes a useful tool for quick and easy remote access.
![Wetty Screenshot](../images/wetty.png)
![Wetty Screenshot](../images/wetty.png){ loading=lazy }
## Why would you need SSH in a browser window?