# 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)
- [force create indexes](#force-create-indexes)
- [documentserver repair](#documentserver-repair)
- [Mimetype migrations available](#mimetype-migrations-available)
- [delete file locks](#delete-file-locks)
- [Setup and Deploy](#setup-and-deploy)
- [App](#app)
- [Infra](#infra)
- [Database](#database)
## Integrations
### OAuth2/OpenID Provider
-
-
-
## 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
``` 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
su -s /bin/bash www-data -c "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
su -s /bin/bash www-data -c "php occ maintenance:mode --off"
# Rebuild appdata and caches
su -s /bin/bash www-data -c "php occ maintenance:repair"
```
### force create indexes
```bash
# Rebuild appdata and caches
su -s /bin/bash www-data -c "php occ db:add-missing-indices"
```
### documentserver repair
```bash
# Rebuild appdata and caches
su -s /bin/bash www-data -c "php occ onlyoffice:documentserver --clear"
su -s /bin/bash www-data -c "php occ maintenance:repair"
su -s /bin/bash www-data -c "php occ files:scan-app-data"
```
### Mimetype migrations available
```bash
# Rebuild appdata and caches
su -s /bin/bash www-data -c "php occ maintenance:repair --include-expensive"
```
### 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 low‑privilege deployment identities, such as the **continuous‑deploy** 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 cluster‑level permissions and must be executed only by platform maintainers, not by the continuous‑deploy 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
```