Update README.md
This commit is contained in:
59
README.md
59
README.md
@@ -1,6 +1,37 @@
|
|||||||
# Creating a test Nextcloud virtual machine
|
# Creating a test Nextcloud virtual machine
|
||||||
Taking this task one step at a time I started by creating a docker nextcloud server on a virtual machine following [this](https://blog.ssdnodes.com/blog/installing-nextcloud-docker/) tutorial.
|
Taking this task one step at a time I started by creating a docker nextcloud server on a virtual machine following [this](https://blog.ssdnodes.com/blog/installing-nextcloud-docker/) tutorial.
|
||||||
|
|
||||||
|
## Upgrading
|
||||||
|
> First of all **SWITCH ROUTER DNS SERVER**
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
1. Remove zfs-linux `yay -Rns zfs-linux-lts`
|
||||||
|
2. Upgrade all packages `yay`
|
||||||
|
3. Clone the zfs-linux repository `git clone https://aur.archlinux.org/zfs-linux-lts.git`
|
||||||
|
4. Update the dependencies to match Linux version inside `PKGBUILD`
|
||||||
|
5. Install zfs-linux `cd zfs-linux-lts` `makepkg -si`
|
||||||
|
|
||||||
|
> You might need to make sure you have the correct `zfs-utils` installed.
|
||||||
|
|
||||||
|
### Docker Containers
|
||||||
|
Nextcloud is the annoying one here. Unless you want to take the risk, you need to upgrade to each major version, incrementally.
|
||||||
|
You can do this by changing the base image in the `nextcloud/DockerFile` file to `nextcloud:{version}-fpm-alpine`.
|
||||||
|
> You should upgrade to the latest minor version of the current major version first.
|
||||||
|
Once you have done that you can upgrade all the images:
|
||||||
|
```
|
||||||
|
sudo docker-compose pull # to upgrade the images
|
||||||
|
sudo docker-compose pull nextcloud:{version}-fpm-alpine # because docker-compose can't tell that it is used by the nextcloud image
|
||||||
|
sudo docker-compose down # to destroy all the existing containers
|
||||||
|
sudo docker-compose up --force-recreate --build -d # to rebuild all the containers with the newest images
|
||||||
|
sudo docker-compose exec -u 1000 -it nextcloud php /var/www/html/occ upgrade -vvv # to run the upgrade script
|
||||||
|
sudo docker-compose exec -u 1000 -it nextcloud php /var/www/html/occ maintenance:mode --off # to turn the site back on
|
||||||
|
sudo certbot certonly -d scarif.space,www.scarif.space,tower.scarif.space,labs.scarif.space,comms.scarif.space,office.scarif.space,rec.scarif.space,radio.scarif.space,intel.scarif.space --force-renewal
|
||||||
|
sudo cp /etc/letsencrypt/live/scarif.space/privkey.pem /opt/ssl/scarif.space.key
|
||||||
|
sudo cp /etc/letsencrypt/live/scarif.space/fullchain.pem /opt/ssl/scarif.space.crt
|
||||||
|
sudo docker-compose restart nginx
|
||||||
|
```
|
||||||
|
Provided that all went smoothly, you should do it all again if there are more major versions for nextcloud.
|
||||||
|
|
||||||
## Building the VM
|
## Building the VM
|
||||||
Creating the virtual machine was easy. I decided to use debian as the OS (one of the suggested ones in the tutorial), using the [net iso](https://www.debian.org/distrib/netinst#verysmall).
|
Creating the virtual machine was easy. I decided to use debian as the OS (one of the suggested ones in the tutorial), using the [net iso](https://www.debian.org/distrib/netinst#verysmall).
|
||||||
> Make sure to give the VM ample storage as the nextcloud installation takes up 4GB!
|
> Make sure to give the VM ample storage as the nextcloud installation takes up 4GB!
|
||||||
@@ -434,34 +465,6 @@ Type=oneshot
|
|||||||
ExecStart=/usr/bin/certbot renew --quiet --agree-tos --deploy-hook "docker exec scarif_nginx_1 nginx -s reload && cp /etc/letsencrypt/live/scarif.space/fullchain.pem /opt/ssl/scarif.space.crt && cp /etc/letsencrypt/live/scarif.space/private.pem /opt/ssl/scarif.space.key"
|
ExecStart=/usr/bin/certbot renew --quiet --agree-tos --deploy-hook "docker exec scarif_nginx_1 nginx -s reload && cp /etc/letsencrypt/live/scarif.space/fullchain.pem /opt/ssl/scarif.space.crt && cp /etc/letsencrypt/live/scarif.space/private.pem /opt/ssl/scarif.space.key"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Upgrading
|
|
||||||
### Linux
|
|
||||||
1. Remove zfs-linux `yay -Rns zfs-linux-lts`
|
|
||||||
2. Upgrade all packages `yay`
|
|
||||||
3. Clone the zfs-linux repository `git clone https://aur.archlinux.org/zfs-linux-lts.git`
|
|
||||||
4. Update the dependencies to match Linux version inside `PKGBUILD`
|
|
||||||
5. Install zfs-linux `cd zfs-linux-lts` `makepkg -si`
|
|
||||||
|
|
||||||
> You might need to make sure you have the correct `zfs-utils` installed.
|
|
||||||
|
|
||||||
### Docker Containers
|
|
||||||
Nextcloud is the annoying one here. Unless you want to take the risk, you need to upgrade to each major version, incrementally.
|
|
||||||
You can do this by changing the base image in the `nextcloud/DockerFile` file to `nextcloud:{version}-fpm-alpine`.
|
|
||||||
> You should upgrade to the latest minor version of the current major version first.
|
|
||||||
Once you have done that you can upgrade all the images:
|
|
||||||
```
|
|
||||||
sudo docker-compose pull # to upgrade the images
|
|
||||||
sudo docker-compose pull nextcloud:{version}-fpm-alpine # because docker-compose can't tell that it is used by the nextcloud image
|
|
||||||
sudo docker-compose down # to destroy all the existing containers
|
|
||||||
sudo docker-compose up --force-recreate --build -d # to rebuild all the containers with the newest images
|
|
||||||
sudo docker-compose exec -u 1000 -it nextcloud php /var/www/html/occ upgrade -vvv # to run the upgrade script
|
|
||||||
sudo docker-compose exec -u 1000 -it nextcloud php /var/www/html/occ maintenance:mode --off # to turn the site back on
|
|
||||||
certbot certonly -d scarif.space,www.scarif.space,tower.scarif.space,labs.scarif.space,comms.scarif.space,office.scarif.space,rec.scarif.space,radio.scarif.space,intel.scarif.space --force-renewal
|
|
||||||
cp /etc/letsencrypt/live/scarif.space/privkey.pem /opt/ssl/scarif.space.key
|
|
||||||
cp /etc/letsencrypt/live/scarif.space/fullchain.pem /opt/ssl/scarif.space.crt
|
|
||||||
```
|
|
||||||
Provided that all went smoothly, you should do it all again if there are more major versions for nextcloud.
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
- Sometimes the `bootstrap.sh` script would fail. This was because the system needed to be restarted after upgrading packages. Instead I separated out the `bootstrap.sh` file.
|
- Sometimes the `bootstrap.sh` script would fail. This was because the system needed to be restarted after upgrading packages. Instead I separated out the `bootstrap.sh` file.
|
||||||
- Docker compose doesn't work? Make sure docker is running.
|
- Docker compose doesn't work? Make sure docker is running.
|
||||||
|
|||||||
Reference in New Issue
Block a user