172 lines
4.1 KiB
Markdown
172 lines
4.1 KiB
Markdown
# Nextcloud AIO
|
|
|
|
- [Nextcloud AIO](#nextcloud-aio)
|
|
- [Setup](#setup)
|
|
- [Install Docker](#install-docker)
|
|
- [IPV6](#ipv6)
|
|
- [Install](#install)
|
|
- [Backups](#backups)
|
|
- [Maintenace Mode](#maintenace-mode)
|
|
- [Trusted Proxy](#trusted-proxy)
|
|
- [Default phone region](#default-phone-region)
|
|
- [Adding existing files](#adding-existing-files)
|
|
- [Theming](#theming)
|
|
- [Changing the domain](#changing-the-domain)
|
|
- [Uninstall](#uninstall)
|
|
- [Edit QCOW](#edit-qcow)
|
|
- [Stuck in login screen](#stuck-in-login-screen)
|
|
|
|
<https://github.com/nextcloud/all-in-one>
|
|
|
|
## Setup
|
|
|
|
## Install Docker
|
|
|
|
<https://docs.docker.com/engine/install/fedora/#set-up-the-repository>
|
|
|
|
### IPV6
|
|
|
|
```bash
|
|
cat <<EOF > /etc/docker/daemon.json
|
|
{
|
|
"ipv6": true,
|
|
"fixed-cidr-v6": "fd12:3456:789a:1::/64",
|
|
"experimental": true,
|
|
"ip6tables": true
|
|
}
|
|
EOF
|
|
systemctl restart docker
|
|
systemctl enable --now docker
|
|
```
|
|
|
|
```bash
|
|
# Enable IPV6
|
|
docker network create --subnet="fd12:3456:789a:2::/64" --driver bridge --ipv6 nextcloud-aio
|
|
```
|
|
|
|
### Install
|
|
|
|
```bash
|
|
# Default
|
|
# Note: this puts all your nextcloud data in /nextcloud
|
|
docker run \
|
|
-d \
|
|
--init \
|
|
--sig-proxy=false \
|
|
--name nextcloud-aio-mastercontainer \
|
|
--restart always \
|
|
--publish 80:80 \
|
|
--publish 8080:8080 \
|
|
--publish 8443:8443 \
|
|
--env NEXTCLOUD_DATADIR="/nextcloud" \
|
|
--env NEXTCLOUD_MEMORY_LIMIT=8192M \
|
|
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
|
|
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
|
|
nextcloud/all-in-one:latest
|
|
|
|
# Reverse Proxy
|
|
docker run \
|
|
--init \
|
|
--sig-proxy=false \
|
|
--name nextcloud-aio-mastercontainer \
|
|
--restart always \
|
|
--publish 8080:8080 \
|
|
--env APACHE_PORT=11000 \
|
|
--env APACHE_IP_BINDING="::" \
|
|
--env NEXTCLOUD_DATADIR="/mnt/ncdata" \
|
|
--env NEXTCLOUD_MEMORY_LIMIT=8192M \
|
|
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
|
|
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
|
|
nextcloud/all-in-one:latest
|
|
```
|
|
|
|
## Backups
|
|
|
|
IMPORTANT: you will need both KEY AND PASSPHRASE to access this repo!
|
|
If you used a repokey mode, the key is stored in the repo, but you should back it up separately.
|
|
Use "borg key export" to export the key, optionally in printable format.
|
|
Write down the passphrase. Store both at safe place(s).
|
|
|
|
```bash
|
|
docker exec nextcloud-aio-borgbackup borg key export /mnt/borgbackup/borg/
|
|
```
|
|
|
|
## Maintenace Mode
|
|
|
|
```bash
|
|
docker stop nextcloud-aio-apache
|
|
docker exec -it -u www-data nextcloud-aio-nextcloud ./occ maintenance:mode --on
|
|
|
|
docker start nextcloud-aio-apache
|
|
docker exec -it -u www-data nextcloud-aio-nextcloud ./occ maintenance:mode --off
|
|
```
|
|
|
|
## Trusted Proxy
|
|
|
|
If running with a reverse proxy.
|
|
|
|
```bash
|
|
docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set trusted_proxies 2 --value="10.1.0.0/16"
|
|
docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set trusted_proxies 3 --value="fd00:fd41:d0f1:1010::/64"
|
|
```
|
|
|
|
## Default phone region
|
|
|
|
```bash
|
|
docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="US"
|
|
```
|
|
|
|
## Adding existing files
|
|
|
|
```bash
|
|
docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --path=ducoterra/files
|
|
```
|
|
|
|
## Theming
|
|
|
|
Red: `#B30000`
|
|
|
|
## Changing the domain
|
|
|
|
```bash
|
|
docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"
|
|
```
|
|
|
|
## Uninstall
|
|
|
|
```bash
|
|
docker stop $(docker ps -a -q)
|
|
docker container prune
|
|
|
|
# DANGER ZONE
|
|
# This deletes all your data
|
|
docker volume prune -a -f
|
|
```
|
|
|
|
defaults,_netdev,x-systemd.requires=iscsid.service 0 1
|
|
|
|
## Edit QCOW
|
|
|
|
```bash
|
|
sudo modprobe nbd
|
|
sudo qemu-nbd -c /dev/nbd0 --read-only /path/to/image.qcow2
|
|
udisksctl mount -b /dev/nbd0p1
|
|
```
|
|
|
|
## Stuck in login screen
|
|
|
|
Check logs at `/var/www/html/data/nextcloud.log` in `nextcloud-aio-nextcloud` container.
|
|
|
|
Sometimes this is caused by a broken app or twofactor. try:
|
|
|
|
```bash
|
|
# Disable two factor
|
|
./occ twofactorauth:state <user>
|
|
./occ twofactorauth:disable <user> totp
|
|
```
|
|
|
|
```bash
|
|
# Disable problem app
|
|
./occ app:disable integration_openai
|
|
```
|