Files
nextcloud/README.md
Márcio Fernandes 3dd6c5457b
All checks were successful
/ continuous-deploy (push) Successful in 22s
feat: openId to id.limbosolutions.com
2026-03-25 01:38:07 +00:00

153 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# cloud.limbosolutions.com
Welcome to public repository of [https://cloud.limbosolutions.com](https://cloud.limbosolutions.com)
Using [NextCloud](https://nextcloud.com/)
- [Integrations](#integrations)
- [OAuth2/OpenID Provider](#oauth2openid-provider)
- [cli](#cli)
- [maintenance mode](#maintenance-mode)
- [scan files](#scan-files)
- [preview generator](#preview-generator)
- [repair tree](#repair-tree)
- [Repair AppData Cache (Fix App Store 500 Error)](#repair-appdata-cache-fix-app-store-500-error)
- [delete file locks](#delete-file-locks)
- [Setup and Deploy](#setup-and-deploy)
- [App](#app)
- [Infra](#infra)
- [Database](#database)
## Integrations
### OAuth2/OpenID Provider
- <https://integrations.goauthentik.io/chat-communication-collaboration/nextcloud/#nextcloud-configuration/>
- <https://github.com/nextcloud/user_oidc>
- <https://apps.nextcloud.com/apps/user_oidc>
## cli
``` bash
su -s /bin/bash www-data -c "php occ upgrade;"
```
### maintenance mode
``` bash
su -s /bin/bash www-data -c "php -d memory_limit=-1 /var/www/html/occ maintenance:mode --on;"
su -s /bin/bash www-data -c "php -d memory_limit=-1 /var/www/html/occ maintenance:mode --off"
```
### scan files
``` bash
su -s /bin/bash www-data -c "php -d memory_limit=-1 /var/www/html/occ files:scan --all"
```
### preview generator
<https://apps.nextcloud.com/apps/previewgenerator>
``` bash
su -s /bin/bash www-data -c "./occ preview:generate-all -vvv"
su -s /bin/bash www-data -c "./occ preview:generate-all --path=marcio.fernandes/files/Photos -vvv"
```
``` bash
# cron job
php /var/www/nextcloud/occ preview:pre-generate
```
### repair tree
``` bash
su -s /bin/bash www-data -c "php occ files:repair-tree"
```
### Repair AppData Cache (Fix App Store 500 Error)
When the App Store returns HTTP 500, the cause is usually stale filecache entries pointing to missing files inside appdata_*.
This procedure clears the broken cache and forces Nextcloud to rebuild it.
```bash
# Enable maintenance mode
sudo -u www-data php occ maintenance:mode --on
# Remove stale filecache entries (run inside MariaDB)
mariadb -u root -p nextcloud -e "DELETE FROM oc_filecache WHERE path LIKE 'appdata_ocuihfjhxkga/appstore%';"
# Remove corrupted appdata folder
rm -rf /var/www/html/data/appdata_*
# Disable maintenance mode
sudo -u www-data php occ maintenance:mode --off
# Rebuild appdata and caches
sudo -u www-data php occ maintenance:repair
```
### delete file locks
``` bash
# execute on mariadb
DELETE FROM oc_file_locks WHERE 1;
```
## Setup and Deploy
### App
**Security context:**
This script is intended to be executed only by lowprivilege deployment identities, such as the **continuousdeploy** ServiceAccount or an application maintainer with equivalent permissions.
```bash
./ops-scripts/apply-app.sh
```
**Responsibilities:**
- Database deployment
- Persistent Volume Claims (storage.limbosolutions.com)
- Nextcloud Helm chart deployment
- Backup job deployment
**Requirements:**
- [infra](#infra)
### Infra
**Security context:**
This script requires elevated clusterlevel permissions and must be executed only by platform maintainers, not by the continuousdeploy identity.
```bash
./ops-scripts/apply-infra.sh
```
**Responsibilities:**
- Ingress controller deployment
- Persistent storage provisioning (storage.limbosolutions.com)
- services accounts:
- Continuous deploy - Deployment RBAC (ServiceAccount + Role + RoleBinding)
## Database
**Connect to db:**
``` bash
kubectl exec -it nextcloud-mariadb-0 -- mariadb -u nextcloud -h nextcloud-mariadb.cloud-limbosolutions-com.svc.cluster.local -p
```
**Restore database:**
``` bash
kubectl run mysql-client -i --rm \
--image=mysql:latest --restart=Never -- \
mysql -h nextcloud-mariadb.cloud-limbosolutions-com.svc.cluster.local \
-u ???? -p???? nextcloud < ./tmp/host-nextcloud-full-backup.sql
```