fux
continuous-integration/drone/push Build is passing Details

pull/6/head
thest1tch 2 years ago
parent 038d7f59f9
commit 3b4acb7b49

@ -0,0 +1,30 @@
# Exception during scan .. is locked
Столкнулся с такой проблемой, в логах nextcloud стала всплывать ошибка
`Error: opendir(/mnt/downloads/): Failed to open directory: Permission denied at /var/www/html/lib/private/Files/Storage/Local.php#153`
Поиск решения проблемы, привело к запуску команды на сканирование файлов пользователей. Для Docker запускается командой:
```bash
docker exec -ti -u 33 nextcloud php -f /var/www/html/console.php files:scan --all
```
В ходе сканирования файлов пользователей, всплыла новая ошибка:
`Exception while scanning: "files/0e3e13890e7b79a0edc572f53b262079" is locked #0 /volume1/web/nextcloud/lib/private/Files/Storage/Common.php(680)`
Согласно [базе знаний Nextcloud](https://help.nextcloud.com/t/file-is-locked-how-to-unlock/1883), для её решения, нужно:
=== "Вручную отключить состояние блокировки"
- Переведите Nextcloud в режим обслуживания: отредактируйте `config/config.php`и измените эту строку:
`'maintenance' => true,`
- Пустая таблица `oc_file_locks`: используйте такие инструменты, как phpmyadmin, или подключитесь напрямую к своей базе данных и запустите (префикс таблицы по умолчанию — `oc_`, этот префикс может быть другим или даже пустым):
`DELETE FROM oc_file_locks WHERE 1`
- Отключите режим обслуживания (отменить первый шаг).
- Убедитесь, что ваши cron-jobs работают правильно (страница администратора сообщает вам, когда cron запускался в последний раз): [Docs Nextcloud](https://docs.nextcloud.org/server/13/admin_manual/configuration_server/background_jobs_configuration.html)
=== "Постоянное решение"
- На вашем **собственном сервере** : используйте Redis для этой функции. Это быстрее, и до сих пор никаких проблем не было зарегистрировано. Вы можете следовать [инструкциям по кэшированию памяти в документах](https://docs.nextcloud.org/server/13/admin_manual/configuration_server/caching_configuration.html#id4)
- **Общий хостинг** (Те, кто не может установить Redis): вы можете отключить блокировку файлов, отредактировав файл конфигурации `config/config.php`:
`'filelocking.enabled' => false,` однако отключение не является хорошим решением. Вы можете столкнуться с проблемами, когда несколько процессов пытаются записать в файл (особенно онлайн-редакторы в веб-интерфейсе). В однопользовательских и одноклиентских средах это, вероятно, не такая уж проблема.
- У меня поднят [redis](../redis.md) для кеширования с веб-мордой redis-commander, поэтому идем в веб-интерфейс и делаем flushall.
- После запускаем сканирование файлов. Проблема решена. Файлы доступны. Ошибок в логе нет.

@ -0,0 +1,63 @@
```env
PUID=
PGID=
TZ=
DOCKER_APP=
SECRETSDIR=
NEXTCLOUD_DOMAIN_NAME=
REDIS_PASSWORD=
```
docker-compose.yml
```yaml
version: "3.7"
secrets:
nextcloud_admin_password:
file: $SECRETSDIR/nextcloud_admin_password # put admin password in this file
nextcloud_admin_user:
file: $SECRETSDIR/nextcloud_admin_user # put admin username in this file
nextcloud_postgres_db:
file: $SECRETSDIR/nextcloud_postgres_db # put postgresql db name in this file
nextcloud_postgres_password:
file: $SECRETSDIR/nextcloud_postgres_password # put postgresql password in this file
nextcloud_postgres_user:
file: $SECRETSDIR/nextcloud_postgres_user # put postgresql username in this file
services:
# Nextcloud Docker Application
nextcloud:
image: nextcloud:25.0.4
container_name: nextcloud
restart: always
volumes:
- $DOCKER_APP/nextcloud:/var/www/html
- $DOCKER_APP/nextcloud/apps:/var/www/html/custom_apps
- $DOCKER_APP/nextcloud/config:/var/www/html/config
- /mnt/NAS/Nextcloud:/var/www/html/data
- /mnt:/mnt
environment:
- POSTGRES_HOST=192.168.1.12
- POSTGRES_DB_FILE=/run/secrets/nextcloud_postgres_db
- POSTGRES_USER_FILE=/run/secrets/nextcloud_postgres_user
- POSTGRES_PASSWORD_FILE=/run/secrets/nextcloud_postgres_password
- NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password
- NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user
- REDIS_HOST=172.18.3.249
- REDIS_HOST_PASSWORD=$REDIS_PASSWORD
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- NEXTCLOUD_TRUSTED_DOMAIN=$NEXTCLOUD_DOMAIN_NAME
- TRUSTED_PROXIES=172.18.0.253
- OVERWRITEPROTOCOL=https
secrets:
- nextcloud_admin_password
- nextcloud_admin_user
- nextcloud_postgres_db
- nextcloud_postgres_password
- nextcloud_postgres_user
labels:
- com.centurylinklabs.watchtower.enable=False
```

@ -0,0 +1,16 @@
# Module php-imagick in this instance has no SVG support
При использовании официального Nextcloud образа Docker вы увидите сообщение вроде:
![](../images/docker/nextcloud/nextcloud-docker-php-imagick.png)
Чтобы исправить это предупреждение в docker нужно установить пакет `libmagickcore-6.q16-6-extra`:
```bash
docker exec nextcloud apt -y update
docker exec nextcloud apt -y install libmagickcore-6.q16-6-extra
```
После этого предупреждение пропало.
Если мы создадим контейнер заново, это изменение будет потеряно. На мой взгляд, здесь лучше выбрать простое решение и делать это каждый раз при обновлении образа, в отличие от постоянной, но гораздо более трудоемкой процедуры. Такой, как обновление docker-контейнера и возврата к официальному образу.

@ -74,10 +74,10 @@
Если у Вас много точек и так же для удобства настройки и дальнейшего обслуживания я рекомендую создать Вам подобную таблицу:
| Name | Address | Endpoint | EndpointIp | AllowedIPs | ListenPort | PrivateKey | PublicKey | |
|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
| PointA | 10.10.10.1 | www.pointA.com | 222.222.222.222 | 10.10.11.1/32,192.168.200.0/24 | 13231 | ucwL8IWLNYrPHOu9qk70ZOagPgjJXhzvvkg7ZLooaj4= |
| PointB| 10.10.11.1 | www.pointB.com | 111.111.111.111 | 10.10.10.1/32,192.168.100.0/24 | 13231 | FxNwKIFINspWh5pkoFpS5LzNKMDjkqcAV/Ypo2Ed8ys= |
| Name | Address | Endpoint | EndpointIp | AllowedIPs | ListenPort | PrivateKey | PublicKey |
|--|--|--|--|--|--|--|--|
| PointA | 10.10.10.1 | www.pointA.com | 222.222.222.222 | 10.10.11.1/32,192.168.200.0/24 | 13231 | `<your_key>` | `ucwL8IWLNYrPHOu9qk70ZOagPgjJXhzvvkg7ZLooaj4=` |
| PointB | 10.10.11.1 | www.pointB.com | 111.111.111.111 | 10.10.10.1/32,192.168.100.0/24 | 13231 | `<your_key>` | `FxNwKIFINspWh5pkoFpS5LzNKMDjkqcAV/Ypo2Ed8ys=` |
Вам так будет проще ориентироваться в дальнейшем

@ -1,12 +1,12 @@
Недавно у меня появился на руках сервер HPE ML30 Gen10. Мне больше всего нравится Ubuntu Server, поэтому я решил установить его на сервере. Чуть позднее я узнал, что у HP есть утилиты, которые вы можете установить в Linux для изменения и просмотра настроек и информации на уровне системы, что довольно круто.
Я хотел попробовать их, однако Ubuntu не входит в группу ОС (Red Hat и SUSE), которые получают пакеты [обновлений](https://downloads.linux.hpe.com/SDR/project/spp/) . Так что документация и поддержка минимальны, и мне потребовалось немного времени, чтобы во всем разобраться.
> Отказ от ответственности: я работаю над сервером Gen 10, поэтому
> устанавливаемые пакеты могут отличаться от других поколений.
!!! info
Отказ от ответственности: я работаю над сервером Gen 10, поэтому
устанавливаемые пакеты могут отличаться от других поколений.
## Установка через APT
## Установка через APT
Во-первых, чтобы установить утилиты, вам нужно добавить [источник](https://downloads.linux.hpe.com/SDR/project/mcp/) в **apt**:
```bash

@ -22,6 +22,10 @@ nav:
- Plex: docker/plex.md
- Plex Meta Manager: docker/plex-mm.md
- Plex Trakt Sync: docker/plextraktsync.md
- Nextcloud:
- docker/nextcloud/index.md
- During Scan: docker/nextcloud/during-scan.md
- PHP imagick: docker/nextcloud/php-imagick.md
- Ubuntu 22:
- HPE:
- Management Component Pack: ubuntu/hpe/hpe-mcp.md

@ -4,5 +4,6 @@ mkdocs-material-extensions>=1.1
mkdocs-minify-plugin>=0.2
mkdocs-git-revision-date-plugin==0.3.1
pymdown-extensions>=9.9.1
mkdocs-glightbox
mkdocs-blogging-plugin
Loading…
Cancel
Save