109 lines
5.7 KiB
Markdown
109 lines
5.7 KiB
Markdown
# Nextcloud AIO dttb.ru (VM 250, 10.0.0.230)
|
||
|
||
## Общее
|
||
- URL: https://dttb.ru, login: admin / 1qaz!QAZ
|
||
- WebDAV: https://dttb.ru/remote.php/dav/files/admin/
|
||
- Nextcloud AIO v12.6.1, Nextcloud 32.0.6
|
||
- VM 250 на Proxmox HomeLab (10.0.0.250)
|
||
- 4 sockets x 2 cores = 8 vCPU, 16GB RAM, 100GB disk (65% used)
|
||
- Ubuntu, cloud-init, QEMU guest agent НЕ установлен
|
||
- SSH: cloud / 1qaz!QAZ (sudo через echo pipe: `echo '1qaz!QAZ' | sudo -S ...`)
|
||
- SSH root НЕ работает, ключ НЕ настроен
|
||
- Для SSH через sshpass нужно: `-o PreferredAuthentications=password` (иначе fail)
|
||
|
||
## AIO Management
|
||
- URL: https://10.0.0.230:8080 (HTTPS обязательно)
|
||
- Passphrase: raider baguette muster nanometer disallow hypnotism rut dreamless
|
||
- AIO_TOKEN: 7e40792bc68c4ce81d0588a89fa883fed1ab2b3347a1781c
|
||
- AIO_URL: 10.0.0.230:8080 (исправлено 2026-03-07, было localhost:8080)
|
||
- Патч isLoginAllowed(): return true (позволяет логин по IP при работающем NC)
|
||
- Файл: /var/www/docker-aio/php/src/Docker/DockerActionManager.php
|
||
- ВНИМАНИЕ: патч сбрасывается при обновлении mastercontainer
|
||
- Конфиг: /mnt/docker-aio-config/data/configuration.json (внутри mastercontainer)
|
||
- Также: /var/lib/docker/volumes/nextcloud_aio_mastercontainer/_data/data/configuration.json (на хосте)
|
||
|
||
## NPM proxy
|
||
- NPM proxy host ID:1 — dttb.ru -> http://10.0.0.230:11001
|
||
|
||
## Docker контейнеры
|
||
- nextcloud-aio-mastercontainer (порты 80, 8080, 8443, 9000)
|
||
- nextcloud-aio-apache (порт 11001)
|
||
- nextcloud-aio-nextcloud
|
||
- nextcloud-aio-database (PostgreSQL)
|
||
- nextcloud-aio-redis
|
||
- nextcloud-aio-onlyoffice
|
||
- nextcloud-aio-imaginary
|
||
- nextcloud-aio-whiteboard
|
||
- nextcloud-aio-notify-push
|
||
- nextcloud-aio-talk (порт 3479)
|
||
- nextcloud-aio-talk-recording
|
||
- nextcloud-aio-watchtower
|
||
|
||
## Конфигурация (из configuration.json)
|
||
- domain: dttb.ru
|
||
- apache_port: 11001
|
||
- talk_port: 3479
|
||
- nextcloud_datadir: /mnt/ncdata
|
||
- nextcloud_mount: /mnt/
|
||
- upload_limit: 16G
|
||
- memory_limit: 2048M
|
||
- max_time: 3600
|
||
- isOnlyofficeEnabled: true
|
||
- isImaginaryEnabled: true
|
||
- isWhiteboardEnabled: true
|
||
- isTalkEnabled: false (Talk отключен в AIO, но контейнер talk работает — legacy?)
|
||
- isCollaboraEnabled: false
|
||
- isClamavEnabled: false
|
||
|
||
## Секреты
|
||
- NEXTCLOUD_PASSWORD: 5752c16a373b465100050053e8c5805d0b40bcc20a28f59d
|
||
- ONLYOFFICE_SECRET: 84b288f6182489c3a39d109c39e11c320f610c2c9d9d3da6
|
||
- TURN_SECRET: c86fd98e4db4cba78c8b512d570d91993cc36ee999e59868
|
||
- REDIS_PASSWORD: df04c3de5d838cb263b82489d12864ec146a4389ac43227e
|
||
- DATABASE_PASSWORD: 9410ae9648674eff97f37108f770e9e63dc2136964af3f33
|
||
- BORGBACKUP_PASSWORD: 666fbf2cd2fb7633f34369a4736bfdb0b7280aef82648d94
|
||
|
||
## Почта (2026-03-07)
|
||
- Системная почта: support@dttb.ru через mail.dttb.ru:587 STARTTLS
|
||
- Mail app: аккаунт support@dttb.ru (IMAP mail.dttb.ru:993 SSL, SMTP mail.dttb.ru:587 STARTTLS)
|
||
- SSL: LE-сертификат скопирован с NPM (cert ID:106) на Mailcow
|
||
- Cron: /opt/sync-le-cert.sh на Mailcow — ежедневно 04:00 синхронизирует LE cert с NPM
|
||
- DNS override: mail.dttb.ru → 10.0.0.107 на OpenWrt (dnsmasq domain record)
|
||
- app.mail.verify-tls-peer=true (LE cert валидный)
|
||
|
||
## Home Assistant интеграция (2026-03-07)
|
||
- Приложение: integration_homeassistant v0.0.7
|
||
- HA URL: http://10.0.0.155:8123 (VM 127, haos-17.0)
|
||
- HA user: dttb / 1qaz!QAZ
|
||
- Long-Lived Access Token (365 дней, имя "Nextcloud Integration"):
|
||
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI3OTgyNzZmZGE3OWM0ODgxYWU1ZGJjMWMwYTNhOWM0ZiIsImlhdCI6MTc3Mjg4OTQ4NywiZXhwIjoxODA0NDI1NDg3fQ.c_6wHfui9YJEtUJoJwbHsMnBzHET-pjEPSWqrthcH18
|
||
- Виджет "Умный дом" (Jinja2 template, обновление 60 сек):
|
||
погода, присутствие, iPhone батарея/локация, восход/закат, NC статистика (диск/RAM/CPU/онлайн)
|
||
- Виджет "Устройства" (YAML, WebSocket real-time):
|
||
медиаплееры (Спальня, VLC), камеры PVZ (6 датчиков движения), NC бинарные сенсоры
|
||
- 170 сущностей в HA: 70 sensors, 24 cameras, 39 device_trackers, 14 binary_sensors, 2 media_players, 1 weather
|
||
- NPM proxy: home.dttb.ru → http://10.0.0.155:8123 (proxy host #16)
|
||
|
||
## Troubleshooting (2026-03-07)
|
||
- Контейнеры остановились при обновлении, OnlyOffice был удалён
|
||
- Nextcloud зависал на "Waiting for OnlyOffice to become available..."
|
||
- Решение: через AIO API включить OnlyOffice, затем Stop+Start через AIO
|
||
- AIO login блокируется при работающем Apache — патч isLoginAllowed() или docker stop apache
|
||
- AIO_URL передаётся как env при создании контейнера — для обновления нужен Stop+Start через AIO
|
||
- spreed (Talk) удаляется при перезапуске если isTalkEnabled=false
|
||
|
||
## SSH команды (шаблоны)
|
||
```bash
|
||
# SSH подключение
|
||
sshpass -p '1qaz!QAZ' ssh -o StrictHostKeyChecking=no -o PreferredAuthentications=password cloud@10.0.0.230
|
||
|
||
# Docker через sudo
|
||
python3 << 'PYEOF'
|
||
import subprocess
|
||
cmd = ['sshpass', '-p', '1qaz!QAZ', 'ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'PreferredAuthentications=password', 'cloud@10.0.0.230']
|
||
commands = "echo '1qaz!QAZ' | sudo -S docker ps -a --format '{{.Names}} | {{.Status}}' 2>&1 | grep -v 'пароль для'"
|
||
result = subprocess.run(cmd + [commands], capture_output=True, text=True, timeout=15)
|
||
print(result.stdout)
|
||
PYEOF
|
||
```
|