changed to blowfish theme / might change back ...
@@ -3,3 +3,4 @@
|
|||||||
styles/
|
styles/
|
||||||
node_modules
|
node_modules
|
||||||
public/
|
public/
|
||||||
|
resources/
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ variables:
|
|||||||
# Major - Shouldn't change often, Big changes to the site
|
# Major - Shouldn't change often, Big changes to the site
|
||||||
# Minor - starts from 0 when Major is incremented +1 for each version that goes public
|
# Minor - starts from 0 when Major is incremented +1 for each version that goes public
|
||||||
# Release - For each time a development milestone is reached
|
# Release - For each time a development milestone is reached
|
||||||
VERSION: 1.2.7
|
VERSION: 1.2.8
|
||||||
BUILD: 1 # If set to 0 gitlab will not build the image
|
BUILD: 1 # If set to 0 gitlab will not build the image
|
||||||
IMAGE_TAG: $CI_REGISTRY_IMAGE:$VERSION
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:$VERSION
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
[submodule "themes/PaperMod"]
|
[submodule "themes/PaperMod"]
|
||||||
path = themes/PaperMod
|
path = themes/PaperMod
|
||||||
url = https://github.com/adityatelange/hugo-PaperMod.git
|
url = https://github.com/adityatelange/hugo-PaperMod.git
|
||||||
|
[submodule "themes/blowfish"]
|
||||||
|
path = themes/blowfish
|
||||||
|
url = https://github.com/nunocoracao/blowfish.git
|
||||||
|
branch = main
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
title: "{{ replace .Name "-" " " | title }}"
|
|
||||||
date: {{ .Date }}
|
|
||||||
draft: true
|
|
||||||
---
|
|
||||||
|
|
||||||
@@ -7,14 +7,6 @@ weight:
|
|||||||
|
|
||||||
tags: [""]
|
tags: [""]
|
||||||
description: ""
|
description: ""
|
||||||
canonicalURL: "{{ .Page | absURL }}"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "<image path/url>" # image path/url
|
|
||||||
alt: "<alt text>" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
|
|||||||
|
After Width: | Height: | Size: 854 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,146 +0,0 @@
|
|||||||
baseURL: "https://blog.ahmza.com"
|
|
||||||
title: ahmza's ramblings
|
|
||||||
paginate: 5
|
|
||||||
theme: PaperMod
|
|
||||||
|
|
||||||
enableRobotsTXT: true
|
|
||||||
buildDrafts: false
|
|
||||||
buildFuture: false
|
|
||||||
buildExpired: false
|
|
||||||
enableEmoji: true
|
|
||||||
|
|
||||||
googleAnalytics: G-HSJHLHP8FZ
|
|
||||||
|
|
||||||
minify:
|
|
||||||
disableXML: true
|
|
||||||
minifyOutput: true
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
home:
|
|
||||||
- HTML
|
|
||||||
- RSS
|
|
||||||
- JSON
|
|
||||||
|
|
||||||
params:
|
|
||||||
env: production # to enable google analytics, opengraph, twitter-cards and schema.
|
|
||||||
title: ahmza's ramblings
|
|
||||||
description: "ahmza's ramblings, a place to share his crazy thoughts"
|
|
||||||
keywords: [Blog, Homelab, IT, security, systems, network, Portfolio, PaperMod]
|
|
||||||
author: ahmza
|
|
||||||
images: ["http://blog.ahmza.com/content/images/2021/11/Padlock-1.png"] #Change this
|
|
||||||
DateFormat: "January 2, 2006"
|
|
||||||
defaultTheme: dark # dark, light
|
|
||||||
disableThemeToggle: true
|
|
||||||
|
|
||||||
ShowReadingTime: true
|
|
||||||
ShowShareButtons: false
|
|
||||||
ShowPostNavLinks: false
|
|
||||||
ShowBreadCrumbs: true
|
|
||||||
ShowCodeCopyButtons: true
|
|
||||||
ShowWordCount: true
|
|
||||||
ShowRssButtonInSectionTermList: true
|
|
||||||
UseHugoToc: false
|
|
||||||
disableSpecial1stPost: false
|
|
||||||
disableScrollToTop: false
|
|
||||||
hideFooter: false
|
|
||||||
comments: false
|
|
||||||
hidemeta: false
|
|
||||||
hideSummary: false
|
|
||||||
showtoc: true
|
|
||||||
tocopen: false
|
|
||||||
|
|
||||||
assets:
|
|
||||||
# disableHLJS: true # to disable highlight.js
|
|
||||||
# disableFingerprinting: true
|
|
||||||
favicon: "/img/favicon.png"
|
|
||||||
favicon16x16: "/img/favicon.png"
|
|
||||||
favicon32x32: "/img/favicon.png"
|
|
||||||
apple_touch_icon: "/img/favicon.png"
|
|
||||||
safari_pinned_tab: "/img/favicon.png"
|
|
||||||
|
|
||||||
label:
|
|
||||||
text: "ahmza's ramblings"
|
|
||||||
#icon: /img/favicon.png
|
|
||||||
iconHeight: 35
|
|
||||||
|
|
||||||
# profile-mode
|
|
||||||
profileMode:
|
|
||||||
enabled: true # needs to be explicitly set
|
|
||||||
title: "Welcome \U0001F44B"
|
|
||||||
subtitle: ahmza's ramblings, A place to share his crazy thoughts
|
|
||||||
imageUrl: "/img/favicon.png"
|
|
||||||
imageWidth: 120
|
|
||||||
imageHeight: 120
|
|
||||||
imageTitle: skullstache
|
|
||||||
buttons:
|
|
||||||
- name: posts
|
|
||||||
url: posts
|
|
||||||
- name: archive
|
|
||||||
url: archive
|
|
||||||
|
|
||||||
# home-info mode
|
|
||||||
homeInfoParams:
|
|
||||||
Title: "Welcome \U0001F44B"
|
|
||||||
Content: A place to share his crazy thoughts.
|
|
||||||
|
|
||||||
socialIcons:
|
|
||||||
- name: LinkedIn
|
|
||||||
url: "https://linkedin.com/in/ahmza"
|
|
||||||
- name: Email
|
|
||||||
url: "mailto:info@ahmza.com?subject=Visitor from blog.ahmza.com"
|
|
||||||
- name: gitlab
|
|
||||||
url: "https://gitlab.com/AHMZA"
|
|
||||||
- name: Instagram
|
|
||||||
url: "https://instagram.com/_0_ahmxa_2_"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
hidden: false # hide everywhere but not in structured data
|
|
||||||
hiddenInList: false # hide on list pages and home
|
|
||||||
hiddenInSingle: false # hide on single page
|
|
||||||
|
|
||||||
editPost:
|
|
||||||
URL: "https://gitlab.com/AHMZA/blog/-/blob/main/content"
|
|
||||||
Text: "Suggest Changes" # edit text
|
|
||||||
appendFilePath: true # to append file path to Edit link
|
|
||||||
|
|
||||||
# for search
|
|
||||||
# https://fusejs.io/api/options.html
|
|
||||||
fuseOpts:
|
|
||||||
isCaseSensitive: false
|
|
||||||
shouldSort: true
|
|
||||||
location: 0
|
|
||||||
distance: 1000
|
|
||||||
threshold: 0.4
|
|
||||||
minMatchCharLength: 0
|
|
||||||
keys: ["title", "permalink", "summary", "content"]
|
|
||||||
|
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
- identifier: posts
|
|
||||||
name: posts
|
|
||||||
url: /posts/
|
|
||||||
weight: 1
|
|
||||||
- identifier: archive
|
|
||||||
name: archive
|
|
||||||
url: /archives/
|
|
||||||
weight: 10
|
|
||||||
- identifier: tags
|
|
||||||
name: tags
|
|
||||||
url: /tags/
|
|
||||||
weight: 20
|
|
||||||
- identifier: contact
|
|
||||||
name: contact
|
|
||||||
url: /contact/
|
|
||||||
weight: 40
|
|
||||||
- identifier: search
|
|
||||||
name: search
|
|
||||||
url: /search/
|
|
||||||
weight: 50
|
|
||||||
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
|
|
||||||
pygmentsUseClasses: true
|
|
||||||
markup:
|
|
||||||
highlight:
|
|
||||||
noClasses: false
|
|
||||||
codeFences: true
|
|
||||||
guessSyntax: true
|
|
||||||
# lineNos: true
|
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
# -- Site Configuration --
|
||||||
|
# Refer to the theme docs for more details about each of these parameters.
|
||||||
|
# https://blowfish.page/docs/getting-started/
|
||||||
|
|
||||||
|
theme = "blowfish" # UNCOMMENT THIS LINE
|
||||||
|
baseURL = "https://blog.ahmza.com/"
|
||||||
|
defaultContentLanguage = "en"
|
||||||
|
|
||||||
|
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
|
||||||
|
|
||||||
|
enableRobotsTXT = true
|
||||||
|
paginate = 10
|
||||||
|
summaryLength = 0
|
||||||
|
|
||||||
|
buildDrafts = false
|
||||||
|
buildFuture = false
|
||||||
|
|
||||||
|
enableEmoji = true
|
||||||
|
|
||||||
|
# googleAnalytics = "G-XXXXXXXXX"
|
||||||
|
|
||||||
|
[imaging]
|
||||||
|
anchor = 'Center'
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tag = "tags"
|
||||||
|
category = "categories"
|
||||||
|
author = "authors"
|
||||||
|
series = "series"
|
||||||
|
|
||||||
|
[sitemap]
|
||||||
|
changefreq = 'daily'
|
||||||
|
filename = 'sitemap.xml'
|
||||||
|
priority = 0.5
|
||||||
|
|
||||||
|
[outputs]
|
||||||
|
home = ["HTML", "RSS", "JSON"]
|
||||||
|
|
||||||
|
[related]
|
||||||
|
threshold = 0
|
||||||
|
toLower = false
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
name = "tags"
|
||||||
|
weight = 100
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
name = "categories"
|
||||||
|
weight = 100
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
name = "series"
|
||||||
|
weight = 50
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
name = "authors"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
name = "date"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[related.indices]]
|
||||||
|
applyFilter = false
|
||||||
|
name = 'fragmentrefs'
|
||||||
|
type = 'fragments'
|
||||||
|
weight = 10
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
languageCode = "en"
|
||||||
|
languageName = "English"
|
||||||
|
weight = 1
|
||||||
|
title = "ahmza's ramblings"
|
||||||
|
|
||||||
|
[params]
|
||||||
|
displayName = "EN"
|
||||||
|
isoCode = "en"
|
||||||
|
rtl = false
|
||||||
|
dateFormat = "2 January 2006"
|
||||||
|
logo = "logo.png"
|
||||||
|
description = "ahmza’s ramblings, A place to share his crazy thoughts"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "ahmza"
|
||||||
|
image = "logo.png"
|
||||||
|
headline = "ahmza’s ramblings, A place to share his crazy thoughts"
|
||||||
|
links = [ { email = "info@ahmza.com" }, { gitlab = "https://gitlab.com/ahmza" }, { instagram = "https://www.instagram.com/_ahmza_/" }, { linkedin = "https://www.linkedin.com/in/ahmza" }, { youtube = "https://www.youtube.com/@ahmzaa" } ]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# -- Markup --
|
||||||
|
# These settings are required for the theme to function.
|
||||||
|
|
||||||
|
[goldmark]
|
||||||
|
[goldmark.renderer]
|
||||||
|
unsafe = true
|
||||||
|
|
||||||
|
[highlight]
|
||||||
|
noClasses = false
|
||||||
|
|
||||||
|
[tableOfContents]
|
||||||
|
startLevel = 2
|
||||||
|
endLevel = 4
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[[main]]
|
||||||
|
name = "Posts"
|
||||||
|
pageRef = "posts"
|
||||||
|
identifier = "SeIXYKJimq"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Tags"
|
||||||
|
pageRef = "tags"
|
||||||
|
weight = 30
|
||||||
|
|
||||||
|
[[footer]]
|
||||||
|
none = "none"
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[hugoVersion]
|
||||||
|
extended = true
|
||||||
|
min = "0.87.0"
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
colorScheme = "congo"
|
||||||
|
defaultAppearance = "dark"
|
||||||
|
autoSwitchAppearance = false
|
||||||
|
enableSearch = true
|
||||||
|
enableCodeCopy = true
|
||||||
|
disableImageZoom = true
|
||||||
|
disableImageOptimization = true
|
||||||
|
disableTextInHeader = false
|
||||||
|
smartTOC = "Enable"
|
||||||
|
smartTOCHideUnfocusedChildren = "Enable"
|
||||||
|
defaultFeaturedImage = "background.webp"
|
||||||
|
defaultBackgroundImage = "background.webp"
|
||||||
|
|
||||||
|
[header]
|
||||||
|
layout = "fixed"
|
||||||
|
|
||||||
|
[footer]
|
||||||
|
showMenu = true
|
||||||
|
showCopyright = true
|
||||||
|
showThemeAttribution = false
|
||||||
|
showAppearanceSwitcher = true
|
||||||
|
showScrollToTop = true
|
||||||
|
|
||||||
|
[homepage]
|
||||||
|
layout = "background"
|
||||||
|
showRecent = true
|
||||||
|
showRecentItems = "9"
|
||||||
|
showMoreLink = true
|
||||||
|
showMoreLinkDest = "/posts"
|
||||||
|
cardView = true
|
||||||
|
cardViewScreenWidth = false
|
||||||
|
layoutBackgroundBlur = true
|
||||||
|
homepageImage = "background.webp"
|
||||||
|
|
||||||
|
[article]
|
||||||
|
showDate = true
|
||||||
|
showViews = false
|
||||||
|
showLikes = false
|
||||||
|
showDateOnlyInArticle = false
|
||||||
|
showDateUpdated = false
|
||||||
|
showAuthor = true
|
||||||
|
showHero = true
|
||||||
|
heroStyle = "background"
|
||||||
|
layoutBackgroundBlur = true
|
||||||
|
layoutBackgroundHeaderSpace = true
|
||||||
|
showBreadcrumbs = true
|
||||||
|
showDraftLabel = true
|
||||||
|
showEdit = false
|
||||||
|
editAppendPath = true
|
||||||
|
seriesOpened = false
|
||||||
|
showHeadingAnchors = true
|
||||||
|
showPagination = true
|
||||||
|
invertPagination = false
|
||||||
|
showReadingTime = true
|
||||||
|
showTableOfContents = true
|
||||||
|
showTaxonomies = true
|
||||||
|
showAuthorsBadges = true
|
||||||
|
showWordCount = true
|
||||||
|
showZenMode = true
|
||||||
|
|
||||||
|
[list]
|
||||||
|
showHero = false
|
||||||
|
layoutBackgroundBlur = true
|
||||||
|
layoutBackgroundHeaderSpace = true
|
||||||
|
showBreadcrumbs = false
|
||||||
|
showSummary = false
|
||||||
|
showViews = false
|
||||||
|
showLikes = false
|
||||||
|
showTableOfContents = false
|
||||||
|
showCards = false
|
||||||
|
orderByWeight = false
|
||||||
|
groupByYear = true
|
||||||
|
cardView = false
|
||||||
|
cardViewScreenWidth = false
|
||||||
|
constrainItemsWidth = false
|
||||||
|
|
||||||
|
[sitemap]
|
||||||
|
excludedKinds = [ "taxonomy", "term" ]
|
||||||
|
|
||||||
|
[taxonomy]
|
||||||
|
showTermCount = true
|
||||||
|
showHero = false
|
||||||
|
showBreadcrumbs = false
|
||||||
|
showViews = false
|
||||||
|
showLikes = false
|
||||||
|
showTableOfContents = false
|
||||||
|
cardView = true
|
||||||
|
|
||||||
|
[term]
|
||||||
|
showHero = false
|
||||||
|
showBreadcrumbs = false
|
||||||
|
showViews = false
|
||||||
|
showLikes = false
|
||||||
|
showTableOfContents = true
|
||||||
|
groupByYear = false
|
||||||
|
cardView = true
|
||||||
|
cardViewScreenWidth = false
|
||||||
|
|
||||||
|
[firebase]
|
||||||
|
|
||||||
|
[fathomAnalytics]
|
||||||
|
|
||||||
|
[umamiAnalytics]
|
||||||
|
|
||||||
|
[buymeacoffee]
|
||||||
|
|
||||||
|
[verification]
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Archive"
|
|
||||||
layout: "archives"
|
|
||||||
url: "/archives/"
|
|
||||||
summary: archives
|
|
||||||
---
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
title: "contact"
|
|
||||||
layout: "contact"
|
|
||||||
url: "/contact/"
|
|
||||||
summary: Contact
|
|
||||||
---
|
|
||||||
|
|
||||||
**General Enquiries:** info@ahmza.com
|
|
||||||
|
|
||||||
**Ceramics:** ceramics@ahmza.com
|
|
||||||
|
|
||||||
**Design:** design@ahmza.com
|
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,19 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: Be More Productive by Being Bored
|
title: Be More Productive by Being Bored
|
||||||
date: 2024-01-02T23:48:23Z
|
date: 2024-01-02
|
||||||
author: "ahmza"
|
author: "ahmza"
|
||||||
draft: false
|
draft: false
|
||||||
weight:
|
weight:
|
||||||
|
|
||||||
tags: ["Prodcutivity", "Lifestyle", "Minimalism"]
|
tags: ["prodcutivity", "lifestyle", "minimalism"]
|
||||||
description: "In the modern age we are overwhelmed with stimuli. Learn to cut out the noise."
|
description: "In the modern age we are overwhelmed with stimuli. Learn to cut out the noise."
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/be-more-productive-by-being-bored.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/webp/posts/be-more-productive-by-being-bored/feature-anim.webp" # image path/url
|
|
||||||
alt: "<alt text>" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
|
Before Width: | Height: | Size: 748 B After Width: | Height: | Size: 748 B |
@@ -1,19 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: HUGO Static Site Generator
|
title: HUGO Static Site Generator
|
||||||
date: 2021-12-26T00:23:22Z
|
date: 2021-12-26
|
||||||
author: "ahmza"
|
author: "ahmza"
|
||||||
draft: false
|
draft: false
|
||||||
weight:
|
weight:
|
||||||
|
|
||||||
tags: ["blog", "website", "web development", "HUGO"]
|
tags: ["web dev"]
|
||||||
description: "HUGO is a static site generator. No idea what that is ? Check out this post to learn more !"
|
description: "HUGO is a static site generator. No idea what that is ? Check out this post to learn more !"
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/hugo-static-site-generator.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/img/hugo/feature.webp" # image path/url
|
|
||||||
alt: "*HUGO* logo" # alt text
|
|
||||||
caption: "The *HUGO* logo" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 334 B |
@@ -1,21 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: You Need to Learn Linux 🐧
|
title: You Need to Learn Linux 🐧
|
||||||
date: 2021-12-17T19:16:50Z
|
date: 2021-12-17
|
||||||
author: "ahmza"
|
author: "ahmza"
|
||||||
draft: false
|
draft: false
|
||||||
weight:
|
weight:
|
||||||
|
|
||||||
tags: ["Linux"]
|
tags: ["linux"]
|
||||||
description: "Here's why you should learn Linux"
|
description: "Here's why you should learn Linux"
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/you-need-to-learn-linux.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/webp/posts/learn-linux/feature-anim.webp" # image path/url
|
|
||||||
alt: "learn-linux" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
showtoc: true
|
|
||||||
searchHidden: false
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -1,21 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: Minecraft Server on Docker ⛏ 🐳
|
title: Minecraft Server on Docker ⛏ 🐳
|
||||||
date: 2022-05-24T09:33:35+01:00
|
date: 2022-05-24
|
||||||
author: "ahmza"
|
author: "ahmza"
|
||||||
draft: false
|
draft: false
|
||||||
weight:
|
weight:
|
||||||
|
|
||||||
tags: ["Games", "Docker", "ARM"]
|
tags: ["games", "docker"]
|
||||||
description: "Ever wanted to build a Minecraft server in docker !! Start here"
|
description: "Ever wanted to build a Minecraft server in docker !! Start here"
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/minecraft-server-on-docker.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/webp/posts/mc-docker/feature-anim.webp" # image path/url
|
|
||||||
alt: "Minecraft Loves Docker" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
showtoc: true
|
|
||||||
searchHidden: false
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Introduction**
|
## **Introduction**
|
||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
@@ -1,21 +1,11 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
title: Setup an NGINX Reverse Proxy 🥸
|
title: Setup an NGINX Reverse Proxy 🥸
|
||||||
date: 2021-12-01T22:59:00Z
|
date: 2021-12-01T22:59:00Z
|
||||||
author: "ahmza"
|
author: "ahmza"
|
||||||
draft: false
|
draft: false
|
||||||
|
|
||||||
tags: ["HomeLab", "Networking", "NGINX", "ReverseProxy"]
|
tags: ["home lab", "networking"]
|
||||||
description: "Learn to setup a quick and easy reverse proxy using NGINX"
|
description: "Learn to setup a quick and easy reverse proxy using NGINX"
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/Setup-an-NGINX-Reverse-Proxy.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/webp/posts/reverse-proxy/feature-anim.webp" # image path/url
|
|
||||||
alt: "abstracted reverse proxy diagram" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
searchHidden: false
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -5,17 +5,8 @@ author: "ahmza"
|
|||||||
draft: false
|
draft: false
|
||||||
weight:
|
weight:
|
||||||
|
|
||||||
tags: ["Homelab", "Docker", "Docker Swarm", "Raspberry Pi", "Pi4"]
|
tags: ["home lab", "docker", "raspberry pi"]
|
||||||
description: "Pis are very capable computers, when banded together they're almost unstoppable"
|
description: "Pis are very capable computers, when banded together they're almost unstoppable"
|
||||||
canonicalURL: "https://blog.ahmza.com/Page%28/posts/building-a-docker-swarm-with-pis.md%29"
|
|
||||||
|
|
||||||
cover:
|
|
||||||
image: "/webp/posts/pi-docker-swarm/feature-anim.webp" # image path/url
|
|
||||||
alt: "Pi Docker Swarm" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
showtoc: true
|
|
||||||
searchHidden: false
|
|
||||||
---
|
---
|
||||||
|
|
||||||
> This post is no longer valid as the cluster runs Kubernetes. The build process
|
> This post is no longer valid as the cluster runs Kubernetes. The build process
|
||||||
|
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
|
After Width: | Height: | Size: 748 B |
|
Before Width: | Height: | Size: 908 B After Width: | Height: | Size: 908 B |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Search" # in any language you want
|
|
||||||
layout: "search" # is necessary
|
|
||||||
---
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Tshirt"
|
|
||||||
layout: "tshirt"
|
|
||||||
url: "/tshirt/"
|
|
||||||
summary: Tshirt
|
|
||||||
---
|
|
||||||
|
|
||||||
## You Scanned me :D
|
|
||||||
well done you successfully scanned my t-shirt.
|
|
||||||
|
|
||||||
You Don't get anything for doing so but here have a pop cat (touch his mouth):
|
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{{- define "main" }}
|
|
||||||
|
|
||||||
<article class="post-single">
|
|
||||||
<header class="post-header">
|
|
||||||
<h1 class="post-title">
|
|
||||||
{{ .Title }}
|
|
||||||
</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{{- if .Content }}
|
|
||||||
<div class="post-content">
|
|
||||||
{{- if not (.Param "disableAnchoredHeadings") }}
|
|
||||||
{{- partial "anchored_headings.html" .Content -}}
|
|
||||||
{{- else }}{{ .Content }}{{ end }}
|
|
||||||
</div>
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
<footer class="post-footer">
|
|
||||||
{{- $tags := .Language.Params.Taxonomies.tag | default "tags" }}
|
|
||||||
<ul class="post-tags">
|
|
||||||
{{- range ($.GetTerms $tags) }}
|
|
||||||
<li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
|
|
||||||
{{- end }}
|
|
||||||
</ul>
|
|
||||||
</footer>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
{{- end }}{{/* end main */}}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{{- define "main" }}
|
|
||||||
|
|
||||||
<article class="post-single">
|
|
||||||
<header class="post-header">
|
|
||||||
<h1 class="post-title">
|
|
||||||
{{ .Title }}
|
|
||||||
</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{{- if .Content }}
|
|
||||||
<div class="post-content">
|
|
||||||
{{- if not (.Param "disableAnchoredHeadings") }}
|
|
||||||
{{- partial "anchored_headings.html" .Content -}}
|
|
||||||
{{- else }}{{ .Content }}{{ end }}
|
|
||||||
</div>
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
<footer class="post-footer">
|
|
||||||
{{- $tags := .Language.Params.Taxonomies.tag | default "tags" }}
|
|
||||||
<ul class="post-tags">
|
|
||||||
{{- range ($.GetTerms $tags) }}
|
|
||||||
<li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
|
|
||||||
{{- end }}
|
|
||||||
</ul>
|
|
||||||
</footer>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
{{- end }}{{/* end main */}}
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: blog-deploy
|
|
||||||
namespace: blog
|
|
||||||
spec:
|
|
||||||
replicas: 3
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: blog-app
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: blog-app
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: blog-app
|
|
||||||
image: registry.gitlab.com/ahmza/blog:1.2.6
|
|
||||||
imagePullPolicy: Always
|
|
||||||
ports:
|
|
||||||
- name: web
|
|
||||||
containerPort: 80
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: blog-ing
|
|
||||||
namespace: blog
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: nginx
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
|
||||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
||||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
|
||||||
nginx.ingress.kubernetes.io/server-snippets: |
|
|
||||||
location / {
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header X-Forwarded-Host $http_host;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header X-Forwarded-For $remote_addr;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_cache_bypass $http_upgrade;
|
|
||||||
}
|
|
||||||
spec:
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- blog.ahmza.com
|
|
||||||
secretName: ahmza-com-tls
|
|
||||||
rules:
|
|
||||||
- host: "blog.ahmza.com"
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: blog-svc
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: blog-svc
|
|
||||||
namespace: blog
|
|
||||||
labels:
|
|
||||||
app: blog-app
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
port: 80
|
|
||||||
targetPort: 80
|
|
||||||
protocol: TCP
|
|
||||||
selector:
|
|
||||||
app: blog-app
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: blog-staging-deploy
|
|
||||||
namespace: blog-staging
|
|
||||||
spec:
|
|
||||||
replicas: 3
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: blog-staging-app
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: blog-staging-app
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: blog-staging-app
|
|
||||||
image: registry.gitlab.com/ahmza/blog:1.2.1
|
|
||||||
imagePullPolicy: Always
|
|
||||||
ports:
|
|
||||||
- name: web
|
|
||||||
containerPort: 80
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: blog-staging-ing
|
|
||||||
namespace: blog-staging
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: nginx
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
|
||||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
||||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
|
||||||
nginx.ingress.kubernetes.io/server-snippets: |
|
|
||||||
location / {
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header X-Forwarded-Host $http_host;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header X-Forwarded-For $remote_addr;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_cache_bypass $http_upgrade;
|
|
||||||
}
|
|
||||||
spec:
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- blog.local.ahmza.com
|
|
||||||
secretName: local-ahmza-com-tls
|
|
||||||
rules:
|
|
||||||
- host: "blog.local.ahmza.com"
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: blog-staging-svc
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: blog-staging-svc
|
|
||||||
namespace: blog-staging
|
|
||||||
labels:
|
|
||||||
app: blog-staging-app
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
port: 80
|
|
||||||
targetPort: 80
|
|
||||||
protocol: TCP
|
|
||||||
selector:
|
|
||||||
app: blog-staging-app
|
|
||||||
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |