De eerste stap is om het systeem up-to-date te brengen en met een script de Docker-engine voor de container-runtime-omgeving te installeren. Als het een nieuw systeem is, herstart de Raspberry Pi dan na het toepassen van de updates alvorens Docker te installeren.
sudo apt upgrade
sudo reboot
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Als de Apache2-utilities en de versiebeheertool Git niet op je systeem staan, installeer die pakketten dan ook.
sudo apt install apache2-utils
sudo apt install git
Docker-compose kun je het beste installeren met de Python-pakketmanager ‘pip’.
sudo apt install python3-pip
sudo pip3 install docker-compose
Voor interactie met de Docker-daemon heb je wel systeembeheerdersrechten nodig. Als je daarbij Docker-commando’s wilt gebruiken zonder daar sudo voor te zetten, moet je gebruiker pi toevoegen aan de groep docker en opnieuw inloggen. Als dat nog niet gebeurd is, is het nu ook een mooi moment om het standaard wachtwoord van de gebruiker pi te veranderen.
sudo usermod -aG docker pi
passwd
De benodigde software is dan geïnstalleerd en Docker is klaar voor gebruik.
Alvorens de containers op te zetten, moet je er echter voor zorgen dat de Raspberry Pi – en dus de webinterface en API – bereikbaar zijn vanaf internet.
Netwerkverkeer dirigeren, vast IP adres
Om ervoor te zorgen dat de verzoeken betrouwbaar aankomen bij de Raspberry Pi en niet bij een ander netwerkapparaat, moet je een vast IP-adres toewijzen. Voer het IP-adres voor de actieve netwerkinterface in bij het bestand /etc/dhcpcd.conf met behulp van een teksteditor. Als de Pi via ethernet met het netwerk verbonden is, selecteer dan de interface eth0 (of wlan0 voor wifi).
Pas de volgende vier regels in het bestand aan je lokale netwerk aan, bijvoorbeeld zo:
interface eth0
static ip_address=192.168.0.184/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
- Start het systeem opnieuw op met sudo reboot zodat de wijzigingen toegepast worden.
- Stel dan portforwarding in de webinterface van je router in.
- Verzoeken van buitenaf die binnenkomen op TCP-poort 80 en 443 moeten worden doorgestuurd naar de Raspberry Pi en eindigen bij de reverse-proxy Traefik.
- Selecteer TCP als protocol en voer poort 80 in.
- Je kunt de service een willekeurige naam geven. Die is vervolgens hetzelfde voor poort 443.
DynDNS-service naar het huidige WAN-IPv4-adres
Om de gewenste DynDNS-service naar het huidige WAN-IPv4-adres van de router te kunnen laten wijzen, heeft die een bron nodig die hem de betreffende informatie verschaft. De meeste moderne routers kunnen die taak op zich nemen.
Selecteer je provider in het corresponderende menu en voer de gevraagde gegevens, meestal de inloggegevens en een update-url, bij het formulier in. Als je DynDNS-provider daar niet bij staat, stel er dan zelf een in.