ipv6 migration

This commit is contained in:
2024-06-21 15:04:58 -04:00
parent 1f4769fdbe
commit 45c58aeba7
25 changed files with 357 additions and 62 deletions

View File

@@ -1,12 +1,76 @@
# Nextcloud AIO
- [Nextcloud AIO](#nextcloud-aio)
- [Prereq](#prereq)
- [Iscsi](#iscsi)
- [Setup](#setup)
- [IPV6 (Optional)](#ipv6-optional)
- [Install](#install)
- [Trusted Proxy](#trusted-proxy)
- [Uninstall](#uninstall)
- [Edit QCOW](#edit-qcow)
## Prereq
1. Have a reverse proxy pointing at your server
2. Have a valid certificate
### Iscsi
We can use iscsi to give nextcloud a large block store.
On Nextcloud:
1. Create an iscsi initiator in Truenas named `iqn.2024-02.com.reeselink:nextcloud-aio`.
2. Create a new authorized access with username `iqn.2024-02.com.reeselink:nextcloud-aio` and password.
3. Create a new target called `iqn.2024-02.com.reeselink:nextcloud-aio-data`
1. Create an alias called `Nextcloud AIO Data`
2. Select the exposed portal
3. Select the `iqn.2024-02.com.reeselink:nextcloud-aio` initiator group
4. Select CHAP Auth method
5. Select auth group containing `iqn.2024-02.com.reeselink:nextcloud-aio`
4. Create a new extent called `nextcloud-aio-data`, leave all settings alone
5. Create a new associated target with `iqn.2024-02.com.reeselink:nextcloud-aio-data` target and
`nextcloud-aio-data` extent
On Nextcloud AIO:
Edit `/etc/iscsi/initiatorname.iscsi` and set your initiatorname.
Edit `/etc/iscsi/iscsid.conf`
```conf
node.session.auth.username = iqn.2024-02.com.reeselink:nextcloud-aio
node.session.auth.password = <password>
```
```bash
iscsiadm -m discovery -t st -p driveripper.reeselink.com
iscsiadm -m node --login
```
## Setup
### IPV6 (Optional)
Add to /etc/docker/daemon.json
```json
{
"ipv6": true,
"fixed-cidr-v6": "fd12:3456:789a:1::/64",
"experimental": true,
"ip6tables": true
}
```
```bash
# Enable IPV6
docker network create --subnet="fd12:3456:789a:2::/64" --driver bridge --ipv6 nextcloud-aio
```
### Install
```bash
docker run \
--init \
@@ -16,6 +80,7 @@ docker run \
--publish 8080:8080 \
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0 \
--env NEXTCLOUD_DATADIR="/mnt/ncdata" \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
@@ -34,3 +99,13 @@ docker stop $(docker ps -a -q)
docker system prune
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
```