2023-08-22 23:56:56 +02:00
|
|
|
# role docker-nextcloud
|
2020-12-24 14:27:31 +01:00
|
|
|
|
2023-11-04 14:20:59 +01:00
|
|
|
## modify config
|
|
|
|
Enter container:
|
|
|
|
```bash
|
|
|
|
docker-compose exec -it application /bin/sh
|
|
|
|
```
|
2022-04-08 14:17:18 +02:00
|
|
|
|
2023-11-04 14:20:59 +01:00
|
|
|
Afterwards modify config:
|
2022-04-08 14:17:18 +02:00
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
apk add --no-cache nano && nano config/config.php
|
2022-04-08 14:17:18 +02:00
|
|
|
```
|
|
|
|
|
2022-02-12 20:52:34 +01:00
|
|
|
## update
|
2020-12-26 19:09:26 +01:00
|
|
|
|
|
|
|
To update the nextcloud container execute the following commands on the server:
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:mode --on &&
|
2023-08-22 18:09:51 +02:00
|
|
|
export COMPOSE_HTTP_TIMEOUT=600 &&
|
|
|
|
export DOCKER_CLIENT_TIMEOUT=600 &&
|
|
|
|
docker-compose down
|
2020-12-26 19:09:26 +01:00
|
|
|
```
|
2021-11-11 14:25:19 +01:00
|
|
|
|
2024-01-22 18:53:35 +01:00
|
|
|
Afterwards update the ***nextcloud_version*** variable to the next version and run the this repository with this ansible role.
|
2020-12-26 19:09:26 +01:00
|
|
|
|
2021-11-11 14:25:19 +01:00
|
|
|
It is only possible to update from one to the next major version at a time
|
|
|
|
|
2022-02-12 09:36:55 +01:00
|
|
|
Wait for the update to finish.
|
|
|
|
|
|
|
|
You can verify that the update is finished by checking the following logs:
|
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose logs application
|
2022-02-12 09:36:55 +01:00
|
|
|
```
|
|
|
|
|
2022-02-12 20:52:34 +01:00
|
|
|
and
|
2020-12-26 19:09:26 +01:00
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it application top
|
2020-12-26 19:09:26 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
If nextcloud stays in the maintenance mode after the update try the following:
|
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:mode --on
|
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ upgrade
|
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:mode --off
|
2020-12-26 19:09:26 +01:00
|
|
|
```
|
|
|
|
|
2021-08-18 21:01:22 +02:00
|
|
|
If the update process fails execute
|
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:repair
|
2021-08-18 21:01:22 +02:00
|
|
|
```
|
|
|
|
|
2022-02-12 09:36:55 +01:00
|
|
|
and disable the not functioning apps.
|
2021-08-18 21:01:22 +02:00
|
|
|
|
2022-02-12 20:52:34 +01:00
|
|
|
## recover latest backup
|
2021-11-11 14:25:19 +01:00
|
|
|
```bash
|
2023-12-07 16:56:43 +01:00
|
|
|
cd {{path_docker_compose_instances}}nextcloud &&
|
2023-04-19 00:03:13 +02:00
|
|
|
docker-compose down &&
|
2023-11-16 17:07:28 +01:00
|
|
|
docker-compose exec -i database mysql -u nextcloud -pPASSWORT nextcloud < "/Backups/$(sha256sum /etc/machine-id | head -c 64)/backup-docker-to-local/latest/nextcloud_database/sql/backup.sql" &&
|
|
|
|
cd {{path_administrator_scripts}}backup-docker-to-local &&
|
2023-11-16 23:02:38 +01:00
|
|
|
bash ./recover-docker-from-local.sh "nextcloud_data" "$(sha256sum /etc/machine-id | head -c 64)"
|
2021-11-11 14:25:19 +01:00
|
|
|
```
|
|
|
|
|
2022-02-12 20:52:34 +01:00
|
|
|
## database
|
|
|
|
### database access
|
|
|
|
To access the database execute
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it database mysql -u nextcloud -D nextcloud -p
|
2022-02-12 20:52:34 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
### recreate database with new volume:
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose run --detach --name database --env MYSQL_USER="nextcloud" --env MYSQL_PASSWORD=PASSWORD --env MYSQL_ROOT_PASSWORD=PASSWORD --env MYSQL_DATABASE="nextcloud" -v nextcloud_database:/var/lib/mysql
|
2022-02-12 20:52:34 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
The process can be checked with:
|
2021-08-18 21:01:22 +02:00
|
|
|
|
|
|
|
```bash
|
2022-02-12 20:52:34 +01:00
|
|
|
show processlist;
|
2021-08-18 21:01:22 +02:00
|
|
|
```
|
2022-02-12 20:52:34 +01:00
|
|
|
|
|
|
|
## occ
|
2020-12-24 14:27:31 +01:00
|
|
|
|
|
|
|
To use occ run:
|
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ
|
2020-12-24 14:27:31 +01:00
|
|
|
```
|
2022-02-12 20:52:34 +01:00
|
|
|
|
|
|
|
## app relevant tables
|
2022-01-30 16:13:35 +01:00
|
|
|
- oc_appconfig
|
|
|
|
- oc_migrations
|
|
|
|
|
|
|
|
### initialize duplicates
|
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ duplicates:find-all --output
|
2022-01-30 16:13:35 +01:00
|
|
|
```
|
2020-12-24 14:27:31 +01:00
|
|
|
|
2022-01-23 11:42:04 +01:00
|
|
|
### unlock files
|
2020-12-24 14:27:31 +01:00
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:mode --on
|
|
|
|
docker-compose exec -it nextcloud_database_1 mysql -u nextcloud -pPASSWORD1234132 -D nextcloud -e "delete from oc_file_locks where 1"
|
|
|
|
docker-compose exec -it -u www-data application /var/www/html/occ maintenance:mode --off
|
2020-12-24 14:27:31 +01:00
|
|
|
```
|
2021-08-17 22:19:29 +02:00
|
|
|
|
2022-01-23 11:42:04 +01:00
|
|
|
## architecture
|
|
|
|
### Maria DB
|
|
|
|
Until NC24 MariaDB version has to be used.
|
|
|
|
|
2022-01-29 10:21:29 +01:00
|
|
|
## performance
|
|
|
|
### 504 Gateway Timeout
|
2022-01-29 16:39:23 +01:00
|
|
|
|
|
|
|
```bash
|
2023-11-04 14:20:59 +01:00
|
|
|
docker-compose logs web --tail 1000 | grep 504
|
2022-01-29 16:39:23 +01:00
|
|
|
```
|
2022-01-29 10:21:29 +01:00
|
|
|
|
2022-01-23 11:42:04 +01:00
|
|
|
#### See
|
2022-01-29 16:39:23 +01:00
|
|
|
- https://support.f5.com/csp/article/K48373902
|
2022-01-23 11:42:04 +01:00
|
|
|
- https://github.com/nextcloud/server/issues/25436
|
|
|
|
- https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/23?page=2
|
2022-01-29 16:39:23 +01:00
|
|
|
- https://serverfault.com/questions/178671/nginx-php-fpm-504-gateway-time-out-error-with-almost-zero-load-on-a-test-se
|
|
|
|
- https://help.nextcloud.com/t/solved-manual-lemp-install-php-fpm-timing-out/39070
|
2022-01-23 11:42:04 +01:00
|
|
|
|
2021-08-17 22:19:29 +02:00
|
|
|
## further information
|
2023-04-19 00:03:13 +02:00
|
|
|
- https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/docker-compose.yml
|
2021-08-18 01:51:00 +02:00
|
|
|
- https://goneuland.de/nextcloud-upgrade-auf-neue-versionen-mittels-docker/
|
2023-08-22 23:56:56 +02:00
|
|
|
- https://help.nextcloud.com/t/cant-start-nextcloud-because-the-version-of-the-data-is-higher-than-the-docker-image-version-and-downgrading-is-not-supported/109438
|
2021-08-18 17:36:33 +02:00
|
|
|
- https://github.com/nextcloud/docker/issues/1302
|
2021-08-18 21:01:22 +02:00
|
|
|
- https://help.nextcloud.com/t/update-to-22-failed-with-database-error-updated/120682
|
|
|
|
- https://help.nextcloud.com/t/nc-update-to-21-0-0-beta1-exception-database-error/101124/4
|
|
|
|
- https://wolfgang.gassler.org/reset-password-mariadb-mysql-docker/
|
2024-01-19 15:12:18 +01:00
|
|
|
- https://unix.stackexchange.com/questions/478855/ansible-docker/container/and-depends-on
|
2023-08-22 23:56:56 +02:00
|
|
|
- https://github.com/gdiepen/docker-convenience-scripts
|
2022-02-12 20:52:34 +01:00
|
|
|
- https://help.nextcloud.com/t/several-issues-after-upgrading-to-nextcloud-21/113118/3
|
2023-08-22 23:56:56 +02:00
|
|
|
- https://forum.openmediavault.org/index.php?thread/31782-docker-nextcloud-talk-plugin-and-turnserver/
|
2024-01-19 15:12:18 +01:00
|
|
|
- https://help.nextcloud.com/t/nextcloud-talk-im-docker/container/turn-server-auf-docker-host-kein-video/84133/10
|