129 lines
3.7 KiB
Markdown
129 lines
3.7 KiB
Markdown
# Nextcloud — скрипты развёртывания
|
||
|
||
| Способ | Каталог | Когда выбирать |
|
||
|--------|---------|----------------|
|
||
| **Docker** | [`docker/`](docker/) | Быстрый старт, изоляция, простые обновления |
|
||
| **Нативная** | [`native/`](native/) | Полная установка в ОС (LAMP) |
|
||
|
||
📖 **[Recommendation.md](Recommendation.md)** — настройки, хранилище, HTTPS, приложения.
|
||
|
||
## Структура
|
||
|
||
```
|
||
nextcloud_install/
|
||
├── README.md
|
||
├── Recommendation.md
|
||
├── docker/ # Nextcloud в Docker
|
||
│ ├── install.sh
|
||
│ ├── enable-docker-ssl.sh # HTTPS :8443 (cert в контейнере)
|
||
│ ├── add-user.sh
|
||
│ ├── docker-compose.yml
|
||
│ └── certs/ # fullchain.pem, privkey.pem
|
||
├── register-ui/ # Самoregистрация пользователей (:3001)
|
||
├── admin-ui/ # Управление пользователями (:3000)
|
||
└── native/ # Установка в систему
|
||
```
|
||
|
||
---
|
||
|
||
## Docker — порты
|
||
|
||
| Порт | Протокол | Назначение |
|
||
|------|----------|------------|
|
||
| **8080** | HTTP | `NEXTCLOUD_PORT` |
|
||
| **8443** | HTTPS | `./enable-docker-ssl.sh` + cert в `docker/certs/` |
|
||
|
||
Reverse proxy **не используется** — Nextcloud напрямую.
|
||
|
||
### Установка
|
||
|
||
```bash
|
||
cd nextcloud_install/docker
|
||
chmod +x *.sh
|
||
./install.sh your.domain
|
||
```
|
||
|
||
Запускайте **без `sudo`**. Скрипт сам попросит sudo только для создания каталогов вроде `/var/nextcloud/*`.
|
||
|
||
Скрипт спросит пути (все **вне** `nextcloud_install`):
|
||
|
||
| Переменная | Назначение | По умолчанию |
|
||
|---|---|---|
|
||
| `NEXTCLOUD_CONFIG_DIR` | config.php, настройки | `/var/nextcloud/config` |
|
||
| `NEXTCLOUD_DATADIR` | Файлы пользователей | `/mnt/hgfs/nextcloud_data` |
|
||
| `NEXTCLOUD_APPDATA` | App Store, превью | `/var/nextcloud/appdata` |
|
||
| `NEXTCLOUD_CUSTOM_APPS` | Приложения из магазина | `/var/nextcloud/custom_apps` |
|
||
| `NEXTCLOUD_BACKUP_DIR` | Бэкапы | `/var/nextcloud/backups` |
|
||
|
||
`nextcloud_install` — только скрипты, compose, шаблоны (`config.defaults/`).
|
||
|
||
Переустановка:
|
||
|
||
```bash
|
||
./uninstall.sh --purge # удалит контейнеры и Docker volumes, backup старого config.php
|
||
rm -f .env
|
||
./setup-env.sh your.domain
|
||
./install.sh your.domain
|
||
```
|
||
|
||
Если видите ошибку про `CAN_INSTALL` или права на config:
|
||
|
||
```bash
|
||
./restore-config.sh --force
|
||
```
|
||
|
||
HTTPS:
|
||
|
||
```bash
|
||
./enable-docker-ssl.sh your.domain
|
||
# https://your.domain:8443
|
||
```
|
||
|
||
---
|
||
|
||
## Самoregистрация пользователей
|
||
|
||
```bash
|
||
cd nextcloud_install/register-ui
|
||
chmod +x start.sh
|
||
./start.sh
|
||
```
|
||
|
||
Откройте **http://ваш-сервер:3001** — пользователи создают аккаунт сами.
|
||
|
||
В `register-ui/.env`:
|
||
- `NEXTCLOUD_URL=https://host:8443`
|
||
- `REGISTRATION_ADMIN_USER=admin`
|
||
- `REGISTRATION_ADMIN_PASSWORD=...` (из `docker/.env`)
|
||
- `DEFAULT_QUOTA=5GB`
|
||
|
||
Отключить регистрацию: `REGISTRATION_ENABLED=false`
|
||
|
||
---
|
||
|
||
## Admin UI (для администратора)
|
||
|
||
```bash
|
||
cd nextcloud_install/admin-ui
|
||
./start.sh
|
||
```
|
||
|
||
**http://127.0.0.1:3000** — квоты, группы, удаление пользователей.
|
||
|
||
CLI: `docker/add-user.sh`
|
||
|
||
---
|
||
|
||
## Native
|
||
|
||
```bash
|
||
cd nextcloud_install/native
|
||
./install.sh
|
||
```
|
||
|
||
---
|
||
|
||
## Документация
|
||
|
||
- [Nextcloud Admin Manual](https://docs.nextcloud.com/server/latest/admin_manual/)
|