diff --git a/felhom-system/webpage.yaml b/felhom-system/webpage.yaml index a6a7f5d..10c7bdb 100644 --- a/felhom-system/webpage.yaml +++ b/felhom-system/webpage.yaml @@ -1,1409 +1,191 @@ +# FileBrowser deployment for managing felhom.eu website content --- -# Namespace for felhom.eu website -apiVersion: v1 -kind: Namespace -metadata: - name: felhom-system ---- -# ConfigMap containing the website HTML -# NOTE: For larger sites, consider using a custom Docker image instead -apiVersion: v1 -kind: ConfigMap -metadata: - name: felhom-website-apps - namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom -data: - alkalmazasok.html: | - - - - - - - Alkalmazások - Felhom.eu - - - - - - - - -
- -
-
- -
-
- 📁 -

Fájlkezelés & Felhő

- 4 alkalmazás -
-
-
-
- -

Nextcloud

A saját Google Drive-od
-
-
-

Teljes értékű felhőszolgáltatás a saját szervereden. Fájlok szinkronizálása, naptár, kontaktok, dokumentumszerkesztés, és rengeteg bővítmény.

-
Fájl szinkronNaptárDokumentumokMobil app
- Nextcloud screenshot -
- -
-
-
- -

FileBrowser

Egyszerű webes fájlkezelő
-
-
-

Könnyű és gyors webes fájlkezelő. Böngészd, töltsd fel és oszd meg a fájljaidat bárhonnan, modern felületen keresztül.

-
Drag & dropMegosztásElőnézetKeresés
- FileBrowser screenshot -
- -
-
-
- -

Gokapi

Ideiglenes fájlmegosztás
-
-
-

Könnyűsúlyú fájlmegosztó szerver lejárati idővel és letöltési limittel. Tökéletes nagy fájlok gyors és biztonságos megosztására.

-
Lejárati időLetöltési limitJelszóvédelem
- Gokapi screenshot -
- -
-
-
- -

Zipline

ShareX/Flameshot szerver
-
-
-

Modern, funkciógazdag fájl- és képmegosztó. Tökéletes screenshot megosztásra, URL rövidítésre és szövegtárolásra.

-
ScreenshotURL rövidítőGalériaAPI
- Zipline screenshot -
- -
-
-
- -
-
- 📷 -

Fotók & Média

- 3 alkalmazás -
-
-
-
- -

Immich

Google Photos alternatíva
-
-
-

Gyors és modern fotó/videó mentési megoldás. Automatikus feltöltés telefonról, arc- és tárgyfelismerés, megosztás és emlékek.

-
Auto backupArcfelismerésTérképMobil app
- Immich screenshot -
- -
-
-
- -

Audiobookshelf

Hangoskönyv & podcast
-
-
-

Hangoskönyv és podcast kezelő szerver. Automatikus metaadat letöltés, folytatás ahol abbahagytad, és dedikált mobil alkalmazások.

-
HangoskönyvekPodcastokSzinkronMobil app
- Audiobookshelf screenshot -
- -
-
-
- -

Calibre-web

E-könyv könyvtár
-
-
-

Webes felület a Calibre könyvtáradhoz. Böngészd, olvasd és töltsd le az e-könyveidet bárhonnan, Kindle támogatással.

-
E-könyvekKindle küldésOPDSOlvasó
- Calibre-web screenshot -
- -
-
-
- - -
-
- 📄 -

Dokumentumkezelés & Tudásbázis

- 3 alkalmazás -
-
-
-
- -

Paperless-ngx

Digitális irattár
-
-
-

Szkenneld be a papír dokumentumaidat és felejtsd el őket. OCR, automatikus kategorizálás, és teljes szöveges keresés.

-
OCRAuto kategóriaKeresésCímkék
- Paperless-ngx screenshot -
- -
-
-
- -

BookStack

Könyv-szerű dokumentáció
-
-
-

Egyszerű, önhostolt wiki platform. Rendezd tudásodat könyvekbe, fejezetekbe és oldalakra – könnyen kereshető formában.

-
WYSIWYGKönyvekKeresésJogosultságok
- BookStack screenshot -
- -
-
-
- -

Outline

Csapat tudásbázis
-
-
-

Gyönyörű wiki és tudásbázis csapatok számára. Markdown támogatás, valós idejű együttműködés, és strukturált dokumentáció.

-
MarkdownEgyüttműködésKeresésIntegráció
- Outline screenshot -
- -
-
-
- -
-
- 🔐 -

Biztonság & Adatvédelem

- 2 alkalmazás -
-
-
-
- -

Vaultwarden

Jelszókezelő (Bitwarden)
-
-
-

Könnyű Bitwarden szerver implementáció. Tárold biztonságosan a jelszavaidat, és szinkronizáld minden eszközödön.

-
E2E titkosításMobil appBöngésző kieg.2FA
- Vaultwarden screenshot -
- -
-
-
- -

PrivateBin

Titkosított paste
-
-
-

Minimális, titkosított pastebin. A szerver nem látja a tartalmakat – tökéletes érzékeny szövegek biztonságos megosztására.

-
E2E titkosításLejáratÉgés utánJelszóvédelem
- PrivateBin screenshot -
- -
-
-
- - -
-
- 🏠 -

Otthon & Életmód

- 4 alkalmazás -
-
-
-
- -

Tandoor Recipes

Receptkezelő
-
-
-

Receptek tárolása, étkezés tervezés és bevásárlólista. Importálj recepteket webről, oszd meg a családdal.

-
Recept importÉtlap tervezésBevásárlólista
- Tandoor screenshot -
- -
-
-
- -

Plant-it

Növénynapló
-
-
-

Tartsd nyilván a növényeidet és gondozásukat. Emlékeztetők öntözésre, trágyázásra, és fotónapló a fejlődésről.

-
EmlékeztetőkFotónaplóStatisztikák
- Plant-it screenshot -
- -
-
-
- -

wger

Edzésnapló
-
-
-

Edzéstervező és napló alkalmazás. Kövesd nyomon az edzéseidet, testsúlyodat és kalória beviteledet egy helyen.

-
EdzéstervekTestsúly követésKalória napló
- wger screenshot -
- -
-
-
- -

Actual Budget

Költségvetés tervező
-
-
-

Helyi-központú személyes pénzügyek kezelése. Költségvetés tervezés, tranzakció követés, és pénzügyi célok.

-
KöltségvetésSzinkronBank importRiportok
- Actual Budget screenshot -
- -
-
-
- -
-
- 🗺️ -

Utazás & Szabadidő

- 3 alkalmazás -
-
-
-
- -

AdventureLog

Utazási napló
-
-
-

Dokumentáld az utazásaidat és kalandjaidat. Térképes megjelenítés, fotók, statisztikák a meglátogatott helyekről.

-
TérképFotókStatisztikákMegosztás
- AdventureLog screenshot -
- -
-
-
- -

Wanderer

Túra tervező
-
-
-

Túrák és útvonalak tervezése, GPX fájlok kezelése. Térképes megjelenítés szintvonalakkal, útvonal statisztikák.

-
GPX importTérképekSzintadatokÚtvonalak
- Wanderer screenshot -
- -
-
-
- -

Cal.com

Időpontfoglaló
-
-
-

Nyílt forráskódú Calendly alternatíva. Könnyű időpont egyeztetés ügyfelekkel, naptár integrációk és automatikus emlékeztetők.

-
Foglalási oldalNaptár szinkronCsapatokEmlékeztetők
- Cal.com screenshot -
- -
-
-
- - -
-
- 📊 -

Dashboard & Monitoring

- 3 alkalmazás -
-
-
-
- -

Homepage

Személyes kezdőlap
-
-
-

Gyönyörű és funkciókban gazdag kezdőlap a szerveredhez. Szolgáltatás státuszok, widgetek, könyvjelzők egy helyen.

-
WidgetekIntegrációkTémákStátusz
- Homepage screenshot -
- -
-
-
- -

Glance

Információs dashboard
-
-
-

Minimális, gyors dashboard mindenféle információval. RSS, időjárás, könyvjelzők, Reddit, YouTube és sok más egy oldalon.

-
RSSIdőjárásYouTubeGyors
- Glance screenshot -
- -
-
-
- -

Uptime Kuma

Szolgáltatás monitoring
-
-
-

Elegáns szolgáltatás monitorozó. Figyeld a weboldalaidat, API-kat, és kapj értesítést ha valami nem működik.

-
HTTP/TCP/DNSÉrtesítésekStátusz oldalGrafikonok
- Uptime Kuma screenshot -
- -
-
-
- -
-
- 👨‍💻 -

Fejlesztőknek

- 3 alkalmazás -
-
-
-
- -

Gitea

Git szerver (GitHub)
-
-
-

Könnyű, gyors Git hosting szolgáltatás. A saját GitHub/GitLab-od, issue tracking, CI/CD, és package registry.

-
Git hostingIssuesCI/CDWiki
- Gitea screenshot -
- -
-
-
- -

Code-Server

VS Code böngészőben
-
-
-

Visual Studio Code a böngészőben. Fejlessz bárhonnan, bármilyen eszközről – ugyanazzal az ismerős felülettel.

-
VS CodeBővítményekTerminálGit
- Code-Server screenshot -
- -
-
-
- -

OpenGist

Kód snippetek (Gist)
-
-
-

Saját GitHub Gist szerver. Kód snippetek megosztása, szintaxis kiemelés, és verziókezelés Git alapokon.

-
SnippetekSzintaxisGitEmbed
- OpenGist screenshot -
- -
-
-
- -
-
- - -
-
-
-
-

25+

-

Elérhető alkalmazás

-
-
-

10

-

Kategória

-
-
-

100%

-

Nyílt forráskódú

-
-
-

0 Ft

-

Licenc költség

-
-
-
-
- - -
-
-

Nem találod amit keresel?

-

Ez csak egy részlet a telepíthető alkalmazásokból. Ha van egy konkrét igényed, keress minket és megtaláljuk a megfelelő megoldást!

- Kapcsolatfelvétel → -
-
-
- - - - ---- -# ConfigMap containing the website HTML -# NOTE: For larger sites, consider using a custom Docker image instead -apiVersion: v1 -kind: ConfigMap -metadata: - name: felhom-website-index - namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom -data: - index.html: | - - - - - - - Felhom.eu - Saját felhőd, saját szabályaid - - - - - - - - - -
-
-
-
- 🚀 Hamarosan indul -

Saját felhőd,
saját szabályaid

-

Professzionális otthoni szerver telepítés és üzemeltetés. Te irányítasz, mi segítünk.

- Érdekel → -
-
- Felhom.eu - Otthoni szerver szolgáltatás -
-
-
-
- -
-
-
-

Miért ne a felhőszolgáltatók?

-

A nagy techcégek kényelmes megoldásokat kínálnak, de van néhány hátrány...

-
-
-
-
💸
-

Folyamatos költségek

-

Havonta fizetsz a tárhelyért, a prémium funkciókért, és az árak csak nőnek idővel.

-
-
-
👁️
-

Adataid másé

-

A fotóid, dokumentumaid, személyes adataid idegen szervereken vannak, idegen kezekben.

-
-
-
🔒
-

Korlátozott kontroll

-

Nem te döntöd el, milyen szolgáltatásokat használsz, és mikor szűnnek meg.

-
-
-
-
- -
-
-
-

Mit kapsz tőlünk?

-

Kulcsrakész megoldások, professzionális kivitelezéssel

-
-
-
- 01 -
-

Szerver beszerzés és beüzemelés

-

Segítünk kiválasztani az igényeidnek megfelelő hardvert, és mindent beállítunk.

-
- 🖥️ -
-
- 02 -
-

Alkalmazás telepítés

-

Nextcloud, Plex, Jellyfin, Home Assistant, és még sok más - amit csak szeretnél.

-
- 📦 -
-
- 03 -
-

Biztonságos távoli elérés

-

Bárhonnan elérheted a szervereidet, biztonságosan, titkosított kapcsolaton keresztül.

-
- 🌐 -
-
- 04 -
-

Automatikus mentések

-

Soha többé nem veszíted el az adataidat - rendszeres, automatikus mentések.

-
- 💾 -
-
- 05 -
-

Támogatás és karbantartás

-

Ha bármi gond van, itt vagyunk. Rendszeres frissítések, proaktív monitoring.

-
- 🛠️ -
-
-
-
- -
-
-
-

Telepíthető Alkalmazások

-

Nyílt forráskódú szoftverek, amiket a saját szervereden futtathatsz

-
- -
-
- 📁 -

Fájlkezelés

-

Nextcloud, FileBrowser, Gokapi

-
-
- 📷 -

Fotók & Média

-

Immich, Audiobookshelf, Calibre

-
-
- 📄 -

Dokumentumok

-

Paperless-ngx, BookStack, Outline

-
-
- 🔐 -

Biztonság

-

Vaultwarden, PrivateBin

-
-
- 🏠 -

Otthon & Életmód

-

Tandoor, Plant-it, wger

-
-
- 📊 -

Dashboard

-

Homepage, Glance, Uptime Kuma

-
-
- -
-

- 25+ alkalmazás 10 kategóriában — mind 100% nyílt forráskódú -

- - Összes alkalmazás megtekintése → - -
-
-
- -
-
-
-

Miért válaszd a saját szervered?

-

Az előnyök, amik miatt megéri

-
-
-
-

🔐 Teljes adatvédelem

-

Az adataid a te otthonodban maradnak. Senki más nem fér hozzájuk - sem a Google, sem a Microsoft, sem senki más.

-
-
-

💰 Egyszeri befektetés

-

Nincs havi előfizetés, nincs rejtett költség. A szerver a tiéd, örökre. Csak az áramért fizetsz.

-
-
-

⚡ Korlátlan kapacitás

-

Nincs 15GB-os limit. Bővítheted ahogy nőnek az igényeid - TB-okkal, ha kell.

-
-
-

🎛️ Teljes kontroll

-

Te döntöd el, milyen szolgáltatásokat futtatsz. Te vagy a főnök, nem a szolgáltató.

-
-
-
-
- -
-
-
-

Érdekel? Beszéljünk!

-

Jelenleg kézi egyeztetéssel dolgozunk. Írj nekünk, és személyre szabott ajánlatot készítünk.

- -
-
-
- - - - ---- -# ConfigMap for the logo (base64 would be needed, or use a PVC/external source) -# For the logo, you'll need to either: -# 1. Host it separately and reference via URL -# 2. Create a PVC and manually upload it -# 3. Base64 encode it in another ConfigMap -# See notes below for the recommended approach ---- -# Deployment -apiVersion: apps/v1 -kind: Deployment -metadata: - name: felhom - namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom - app.kubernetes.io/version: "1.0.0" -spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom - template: - metadata: - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom - app.kubernetes.io/version: "1.0.0" - spec: - containers: - - name: nginx - image: nginx:1.27-alpine - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 80 - protocol: TCP - resources: - requests: - cpu: 10m - memory: 16Mi - limits: - cpu: 100m - memory: 64Mi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 30 - timeoutSeconds: 5 - failureThreshold: 3 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 3 - periodSeconds: 10 - timeoutSeconds: 3 - failureThreshold: 3 - volumeMounts: - - name: website-index - mountPath: /usr/share/nginx/html/index.html - subPath: index.html - - name: website-apps - mountPath: /usr/share/nginx/html/alkalmazasok.html - subPath: alkalmazasok.html - - name: assets - mountPath: /usr/share/nginx/html/assets - volumes: - - name: website-index - configMap: - name: felhom-website-index - - name: website-apps - configMap: - name: felhom-website-apps - - name: assets - persistentVolumeClaim: - claimName: felhom-assets ---- -# Service -apiVersion: v1 -kind: Service -metadata: - name: felhom - namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom -spec: - type: ClusterIP - ports: - - name: http - port: 80 - targetPort: http - protocol: TCP - selector: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom ---- -# Ingress - NOTE: This is PUBLIC facing, no geo-restriction! -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: felhom - namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - external-dns.alpha.kubernetes.io/hostname: felhom.eu,www.felhom.eu - nginx.ingress.kubernetes.io/ssl-redirect: "true" - # No geo-restriction - this is a public business website! -spec: - ingressClassName: nginx-internal - rules: - - host: felhom.eu - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: felhom - port: - number: 80 - - host: www.felhom.eu - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: felhom - port: - number: 80 - tls: - - hosts: - - felhom.eu - - www.felhom.eu - secretName: felhom-tls ---- -# Small PVC for static assets (logo, images, etc.) apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: felhom-assets + name: felhom-website-content + namespace: felhom-system +spec: + accessModes: + - ReadWriteMany # RWX - allows both nginx and filebrowser to access + storageClassName: longhorn + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: filebrowser-db namespace: felhom-system - labels: - app.kubernetes.io/name: felhom - app.kubernetes.io/instance: felhom spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: - storage: 100Mi \ No newline at end of file + storage: 100Mi +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: filebrowser-config + namespace: felhom-system +data: + .filebrowser.json: | + { + "port": 8080, + "baseURL": "", + "address": "0.0.0.0", + "log": "stdout", + "database": "/database/filebrowser.db", + "root": "/srv" + } +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: filebrowser + namespace: felhom-system + labels: + app: filebrowser +spec: + replicas: 1 + selector: + matchLabels: + app: filebrowser + template: + metadata: + labels: + app: filebrowser + spec: + containers: + - name: filebrowser + image: filebrowser/filebrowser:v2-alpine + ports: + - containerPort: 8080 + volumeMounts: + - name: website-content + mountPath: /srv + - name: database + mountPath: /database + - name: config + mountPath: /.filebrowser.json + subPath: .filebrowser.json + resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "256Mi" + cpu: "500m" + livenessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 10 + periodSeconds: 30 + readinessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + volumes: + - name: website-content + persistentVolumeClaim: + claimName: felhom-website-content + - name: database + persistentVolumeClaim: + claimName: filebrowser-db + - name: config + configMap: + name: filebrowser-config +--- +apiVersion: v1 +kind: Service +metadata: + name: filebrowser + namespace: felhom-system +spec: + selector: + app: filebrowser + ports: + - port: 80 + targetPort: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: filebrowser + namespace: felhom-system + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/proxy-body-size: "100m" # Allow large file uploads +spec: + ingressClassName: nginx + tls: + - hosts: + - files.felhom.eu + secretName: filebrowser-tls + rules: + - host: files.felhom.eu + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: filebrowser + port: + number: 80 +--- +# Updated nginx deployment to use the shared PVC instead of ConfigMap +apiVersion: apps/v1 +kind: Deployment +metadata: + name: felhom-webpage + namespace: felhom-system + labels: + app: felhom-webpage +spec: + replicas: 1 + selector: + matchLabels: + app: felhom-webpage + template: + metadata: + labels: + app: felhom-webpage + spec: + containers: + - name: nginx + image: nginx:alpine + ports: + - containerPort: 80 + volumeMounts: + - name: website-content + mountPath: /usr/share/nginx/html + resources: + requests: + memory: "32Mi" + cpu: "10m" + limits: + memory: "128Mi" + cpu: "200m" + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 5 + periodSeconds: 30 + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 3 + periodSeconds: 10 + volumes: + - name: website-content + persistentVolumeClaim: + claimName: felhom-website-content \ No newline at end of file