myCloud
a bundle of OpenSource Software with one user management.
Current based only on: authentik
First Login
Your main Account must be initalized:
https://auth.<commons.ingress.domain>/if/flow/initial-setup/
Usage
My base-values/mycloud-*.yaml
does not set any namespace, so the same the the Base-Helmchart is used (maybe you like to use multiple myClouds in different namespaces).
Example usage (warning, the
base-values
are not versioned, see Base):---
apiVersion: v1
kind: Namespace
metadata:
name: mycloud (1)
---
apiVersion: v1
kind: Secret (2)
metadata:
name: mycloud-mail
namespace: mycloud (1)
data:
password: MAIL_ACCOUNT_PASSWORD
---
apiVersion: v1
kind: Secret (3)
metadata:
name: mycloud-master-password
namespace: mycloud (1)
data:
masterPassword: MASTER_PASSWORD_FOR_GENERATE_EVERY_A_NEW_ONE
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: wrenix-flux-charts (4)
namespace: flux-system
spec:
url: https://codeberg.org/wrenix/flux-charts.git
ref:
branch: main
interval: 10m
# for more info about verification take an look here:
# - https://fluxcd.io/flux/components/source/gitrepositories/#verification
# - https://wrenix.codeberg.page/docs/wrenix-flux/latest/#_secure_with_verify
# later replaced with oci and cosign
# verify:
# mode: HEAD
# secretRef:
# name: gpg-publickey
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: mycloud (5)
namespace: mycloud (1)
spec:
chart:
spec:
sourceRef:
kind: GitRepository
name: wrenix-flux-charts (4)
namespace: flux-system
chart: "./base"
reconcileStrategy: "Revision"
valuesFiles:
- "./base/values.yaml"
- "./base-values/commons.yaml" (6)
- "./base-values/mycloud-core.yaml" (7)
- "./base-values/mycloud-nextcloud.yaml" (8)
- "./base-values/mycloud-collabora.yaml" (9)
interval: 10m
values:
##
# Commons
##
commons:
mail: (10)
host: "posteo.de"
username: "mycloud@posteo.net"
use_tls: true
from: "mycloud@posteo.net"
helm:
chart:
sourceRef: (4)
kind: GitRepository
name: wrenix-flux-charts
namespace: flux-system
ingress:
domain: "mycloud.eu" (11)
componentCommons:
helm:
release:
valuesFrom:
- kind: Secret (3)
name: mycloud-master-password
valuesKey: masterPassword
targetPath: commons.masterPassword
- kind: Secret (2)
name: mycloud-mail
valuesKey: password
targetPath: commons.mail.password
##
# Compoments
##
components:
mycloud-nextcloud:
values: (12)
quota: "100 MB"
1 | namespace where install all the components later |
2 | secret to bypass secure values into the mycloud-components (mail) |
3 | secret to bypass secure values into the mycloud-components (masterPassword) |
4 | reference where base and all the components are founded by fluxcd |
5 | use of base-helm chart for fluxcd to bundle the different mycloud-components together |
6 | use my default commons values for flux-chart components |
7 | use my default to setup all commons for mycloud-components and the mycloud-core components (e.g. mycloud-services and mycloud-authentik) |
8 | use my default values for usage of mycloud-nextcloud (it also configure mycloud-services for another database and mycloud-authentik for user management) |
9 | use my default values for usage of mycloud-collabora (it also configure mycloud-nextcloud if it is also used) |
10 | setup default mail configuration (for all components) for more commons values take an look into the used components (or base-values ) |
11 | setup default domain (where subdomains are generate for the different components) |
12 | overwrite componets values (here setup default quota for an use in mycloud-nextcloud) |