# 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) ## Setup ## Install Docker ### IPV6 ```bash cat < /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 ./occ twofactorauth:disable totp ``` ```bash # Disable problem app ./occ app:disable integration_openai ```