--- # ArgoCD Project for homelab applications # Projects provide logical grouping and access control apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: homelab namespace: argocd spec: description: Viktor's homelab applications # Allow deploying to any namespace destinations: - namespace: '*' server: https://kubernetes.default.svc # Allow any cluster-scoped resources clusterResourceWhitelist: - group: '*' kind: '*' # Allow all namespaced resources namespaceResourceWhitelist: - group: '*' kind: '*' # Source repos this project can pull from sourceRepos: - https://gitea.dooplex.hu/admin/homelab-manifests.git - https://gitea.dooplex.hu/admin/* --- # Servarr Application (sonarr, radarr, prowlarr, qbittorrent) apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: servarr namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: servarr-system destination: server: https://kubernetes.default.svc namespace: servarr-system syncPolicy: # Start with manual sync until you're comfortable # automated: # prune: true # selfHeal: true # allowEmpty: false syncOptions: - CreateNamespace=true - PruneLast=true - ApplyOutOfSyncOnly=true # Retry on transient failures retry: limit: 3 backoff: duration: 5s factor: 2 maxDuration: 3m --- # Paperless-ngx apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: paperless namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: paperless-system destination: server: https://kubernetes.default.svc namespace: paperless-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # ActualBudget apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: actualbudget namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: actualbudget-system destination: server: https://kubernetes.default.svc namespace: actualbudget-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # AudioBookshelf apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: audiobookshelf namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: audiobookshelf-system destination: server: https://kubernetes.default.svc namespace: audiobookshelf-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # Duplicati apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: duplicati namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: backup-system destination: server: https://kubernetes.default.svc namespace: backup-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # Bookstack apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: bookstack namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: bookstack-system destination: server: https://kubernetes.default.svc namespace: bookstack-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # Immich apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: immich namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: immich-system destination: server: https://kubernetes.default.svc namespace: immich-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # Gitea apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: gitea namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: gitea-system destination: server: https://kubernetes.default.svc namespace: gitea-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true --- # Nextcloud apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: nextcloud namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: homelab source: repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git targetRevision: main path: nextcloud-system destination: server: https://kubernetes.default.svc namespace: nextcloud-system syncPolicy: syncOptions: - CreateNamespace=true - PruneLast=true ---