diff --git a/argocd-apps/homelab.yaml b/argocd-apps/homelab.yaml index 7abd792..cf02652 100644 --- a/argocd-apps/homelab.yaml +++ b/argocd-apps/homelab.yaml @@ -1032,4 +1032,25 @@ spec: syncOptions: - CreateNamespace=true - ServerSideApply=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: felhom + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: homelab + source: + repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git + targetRevision: main + path: felhom-system + destination: + server: https://kubernetes.default.svc + namespace: felhom-system + syncPolicy: + syncOptions: + - CreateNamespace=true + - ServerSideApply=true --- \ No newline at end of file diff --git a/felhom-system/webpage.yaml b/felhom-system/webpage.yaml new file mode 100644 index 0000000..2016045 --- /dev/null +++ b/felhom-system/webpage.yaml @@ -0,0 +1,598 @@ +--- +# 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 + 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.

+
+ 🛠️ +
+
+
+
+ +
+
+
+

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 + mountPath: /usr/share/nginx/html/index.html + subPath: index.html + - name: assets + mountPath: /usr/share/nginx/html/logo.png + subPath: logo.png + volumes: + - name: website + configMap: + name: felhom-website + - 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 + 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