Ga naar de inhoud
Home » NextCloud op een Pi

NextCloud op een Pi

Ik gebruik hiervoor docker …

Docker Install

Zie https://pimylifeup.com/raspberry-pi-docker/ 

TL;DR

$ curl -sSL https://get.docker.com | sh
$ sudo usermod -aG docker $USER
$ sudo reboot
$ docker run hello-world #test om te kijken of het werkt

Update /etc/default.docker en plaats volgende regel zodat docker je eign dns server gebruikt met de google dns servers als fallback (zie https://dev.to/darnahsan/set-custom-dns-for-docker-to-use-2h9c )

DOCKER_OPTS="--dns 192.168.2.1 --dns 8.8.8.8 --dns 8.8.4.4"

Update, of creëer, het bestand /etc/docker/daemon.json en voeg toe:

{
"dns" : [ "192.168.2.1" , "8.8.8.8" , "8.8.4.4" ]
}

Je eigen dns server (1923.168.2.1) zal nu gebruikt worden met de dns servers van google als fallback

Om dit te testen kun je runnen:

$ docker run -it --rm opensuse/tumbleweed:latest cat /etc/resolv.conf

Deze laat het bestand /etc/resolv.conf zien zoals de container het gebruikt. Verwacht de volgende output (of iets dat er op lijkt):

pi@webserver:~ $ docker run -it --rm opensuse/tumbleweed:latest cat /etc/resolv.conf
# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.

nameserver 192.168.2.1
nameserver 8.8.8.8
nameserver 8.8.4.4
search thuis.net home

# Based on host file: '/etc/resolv.conf' (legacy)
# Overrides: [nameservers]
pi@webserver:~ $

abc

Portainer Install

Zie https://pimylifeup.com/raspberry-pi-portainer/

TL;DR

$ docker pull portainer/portainer-ce:latest
$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Access via https://[PIIPADDRESS]:9443

Ga onder Administration nu naar  Environment-related → Environments. Klik op local en update de Public IP met het IP adres van je server….. heel belangrijk dat je dit doet …. anders gaat ie steeds naar 0.0.0.0 LOL

NextCloud Install

Ga naar Stacks in Portainer en maak een nieuwe stack nextcloud. Via de web editor paste je nu de inhoud van https://github.com/nextcloud/all-in-one/blob/main/compose.yaml in de editor. Check of all poorten die gebruikt worden ook poorten zijn die je systeem nog niet gebruikt. Controleer via:

$ sudo netstat -pant

Zorg ervoor dat je in de compose.yaml de poorten aanpast:

80:88
8080:8888

Of wat ook maar werkte 😉

NextCloud Install 2

Het kan ook zonder portainer, zie https://nextcloud.com/install/#aio

TL;DR

Simpel met dit commando (zorg wel dat de poorten nog niet gebruikt zijn)

sudo docker run \
  --init \
  --sig-proxy=false \
  --name nextcloud-aio-mastercontainer \
  --restart always \
  --publish 80:88 \
  --publish 8080:8888 \
  --publish 8443:8443 \
  --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  ghcr.io/nextcloud-releases/all-in-one:latest

Tip van Flip

Wil je de datadir (daar waar alles staa van Next Cloud ergens anders hebben (goed idee want het kan groot worden), zie https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-change-the-default-location-of-nextclouds-datadir