diff --git a/.gitea/workflows/app-continuous-deploy.yaml b/.gitea/workflows/app-continuous-deploy.yaml index fd5affb..922ecfb 100644 --- a/.gitea/workflows/app-continuous-deploy.yaml +++ b/.gitea/workflows/app-continuous-deploy.yaml @@ -44,11 +44,13 @@ jobs: PBS_PASSWORD: ${{ secrets.PBS_PASSWORD }} PBS_FINGERPRINT: ${{ secrets.PBS_FINGERPRINT }} ONLYOFFICE_SECRET: ${{ secrets.ONLYOFFICE_SECRET }} + WHITEBOARD_JWT_SECRET_KEY: ${{ secrets.WHITEBOARD_JWT_SECRET_KEY }} # used only on helm set values - only required as environment variables NEXTCLOUD_HOST: ${{ secrets.NEXTCLOUD_HOST }} NEXTCLOUD_USERNAME: ${{ secrets.NEXTCLOUD_USERNAME }} NEXTCLOUD_PASSWORD: ${{ secrets.NEXTCLOUD_PASSWORD }} + REDIS_PASSWORD: ${{ secrets.REDIS_PASSWORD }} run: | set -euo pipefail @@ -57,6 +59,7 @@ jobs: trap ' [ -d deploy/app/.env.d ] && rm -rf deploy/app/.env.d/*; [ -d deploy/app/onlyoffice/.env.d ] && rm -rf deploy/app/onlyoffice/.env.d/*; + [ -d deploy/app/whiteboard/.env.d ] && rm -rf deploy/app/whiteboard/.env.d/*; ' EXIT # setup secrets files @@ -72,9 +75,12 @@ jobs: echo "secret=${ONLYOFFICE_SECRET:?Missing ONLYOFFICE_SECRET}" >> deploy/app/onlyoffice/.env.d/onlyoffice.env + echo "JWT_SECRET_KEY=${WHITEBOARD_JWT_SECRET_KEY:?Missing WHITEBOARD_JWT_SECRET_KEY}" >> deploy/app/whiteboard/.env.d/whiteboard.env + # enforce secrets files security chmod 600 deploy/app/.env.d/* chmod 600 deploy/app/onlyoffice/.env.d/* - + chmod 600 deploy/app/whiteboard/.env.d/* + # invoke deploy script ops-scripts/apply-app.sh diff --git a/.vscode/settings.json b/.vscode/settings.json index 47499bf..8052c8c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,11 @@ { "cSpell.words": [ "authentik", + "COLLAB", + "dbindex", "documentserver", - "onlyoffice" + "onlyoffice", + "overwritehost", + "overwriteprotocol" ] } \ No newline at end of file diff --git a/README.md b/README.md index 4dce4ca..8f756a5 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Using [NextCloud](https://nextcloud.com/) - [Integrations](#integrations) - [OAuth2/OpenID Provider](#oauth2openid-provider) + - [whiteboard](#whiteboard) - [cli](#cli) - [maintenance mode](#maintenance-mode) - [scan files](#scan-files) @@ -20,6 +21,7 @@ Using [NextCloud](https://nextcloud.com/) - [Setup and Deploy](#setup-and-deploy) - [App](#app) - [Infra](#infra) +- [internal logs](#internal-logs) - [Database](#database) ## Integrations @@ -30,6 +32,13 @@ Using [NextCloud](https://nextcloud.com/) - - +### whiteboard + +``` bash +php occ config:app:set whiteboard collabBackendUrl --value="https://cloud.limbosolutions.com/whiteboard" +php occ config:app:set whiteboard jwt_secret_key --value="?????" +``` + ## cli ``` bash @@ -174,6 +183,13 @@ Can be executed in VS Code using the “Apply Infra” task. - services accounts: - Continuous deploy - Deployment RBAC (ServiceAccount + Role + RoleBinding) +## internal logs + +``` bash +POD_NAME=$(kubectl get pod -l 'app.kubernetes.io/name'=nextcloud -n cloud-limbosolutions-com -o jsonpath='{.items[0].metadata.name}') +kubectl exec -it ${POD_NAME} -- cat /var/www/html/data/nextcloud.log +``` + ## Database **Connect to db:** diff --git a/deploy/app/kustomization.yaml b/deploy/app/kustomization.yaml index c7e6021..5923192 100644 --- a/deploy/app/kustomization.yaml +++ b/deploy/app/kustomization.yaml @@ -15,6 +15,7 @@ resources: - ./mariadb-deploy.yaml - ./backups/backup-pbs-cronjob.yaml - ./onlyoffice + - ./whiteboard generatorOptions: disableNameSuffixHash: true diff --git a/deploy/app/helm-values.yaml b/deploy/app/nextcloud-helm-values.yaml similarity index 89% rename from deploy/app/helm-values.yaml rename to deploy/app/nextcloud-helm-values.yaml index 7e7203d..6a0f80b 100644 --- a/deploy/app/helm-values.yaml +++ b/deploy/app/nextcloud-helm-values.yaml @@ -6,6 +6,9 @@ image: replicaCount: 1 + + + livenessProbe: initialDelaySeconds: 60 periodSeconds: 60 @@ -77,6 +80,8 @@ resources: cpu: "0.5" memory: 512Mi +redis: + enabled: false ## Cronjob to execute Nextcloud background tasks ## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron @@ -85,6 +90,15 @@ cronjob: enabled: true nextcloud: + extraEnv: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: nextcloud-redis + key: redis-password + + defaultConfigs: + redis.config.php: false extraInitContainers: - name: data-folder-structure-fix @@ -133,9 +147,8 @@ nextcloud: phpConfigs: php.ini: |- - memory_limit = 512M + memory_limit = 1024M extraVolumes: - - name: mf-documents persistentVolumeClaim: claimName: mf-documents-limbosolutions-com @@ -191,6 +204,7 @@ nextcloud: true, + 'loglevel' => 1 ); phone.config.php: |- 1, ); + redis.config.php: |- + '\OC\Memcache\APCu', + 'memcache.distributed' => '\OC\Memcache\Redis', + 'memcache.locking' => '\OC\Memcache\Redis', + + 'redis' => array( + 'host' => 'nextcloud-redis-master', + 'port' => 6379, + 'timeout' => 1.5, + 'password' => getenv('REDIS_PASSWORD'), + 'dbindex' => 0, + ), + ); + onlyoffice.config.php: |-