Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb sinds enige tijd een Raspberry Pi4 (naast mijn bestaande Pi3).
Doel is om alles van de Pi3 over te zetten op de Pi4, maar dan in Docker Containers.

Te weten:

- Domoticz
- Pi Hole
- ADS-B Flight Tracking
- Unifi Controller
- MRTG

Ben met betrekking tot Docker nog vrij nieuw.
Maar des ondanks heb ik Docker, met daarbij Portainer al werkend op mijn Pi.
Meer dan alleen de install packages gedownload & geinstalleerd heb ik er niet mee gedaan.

Helaas loop ik tegen wat issues aan waar ik nogal mee aan het puzzelen ben.

- Pi Hole
Het lukt me maar niet om lokale clients op basis van DNS werkend te krijgen.
Voorheen deed ik dat door in /etc/pihole/lan.list een aantal IP's met namen op te geven.
Nu snap ik dat je dit niet direct in de container moet doen, maar in een gemapped volume / folder.
Maar wat ik ook probeer, resolven lukt niet vanaf clients in het netwerk.

- Unifi Controller
Deze update zichzelf af en toe automatisch (Watchtower) en dan ben ik gelijk mijn complete config kwijt.
Heb gelukkig een export/backup van de setup, dus ik kan deze makkelijk weer opnieuw inlezen, maar ik wil liever 'hands free' kunnen upgraden. Net zoals dat zonder container kon.

- Domoticz
Op de Pi3 had ik deze met 2 pootjes in verschillende VLANs hangen (t.b.v. WOL).
Echter lijkt de container maar in 1 VLAN te willen wonen.
De Pi4 heeft ook connectie met de twee verschillende VLANs, eentje via LAN. De ander via WLAN.
Ik kom er maar niet achter hoe ik de container in beide VLANs operationeel krijg.

- ADS-B
Dit bestaat uit diverse containers.
dump1090
FlightRadar
PlaneFinder
PiAware

Met name de eerste is het belangrijkste, want daar worden de signalen opgevangen.
Echter, kan geen van die andere containers de naam van 'dump1090' resolven.
En daardoor werken de andere containers dus ook niet.
Nu zou dit van wat ik lees o.b.v. Docker informatie, automatisch moeten kunnen, echter mijn setup weigert het.

- MRTG
Nog niet aan begonnen, nog geen docker image voor gevonden.

Wellicht ziet iemand verbanden die ik inmiddels niet meer zie (bomen... bos...) en kan iemand mij in de juiste richting duwen naar de oplossing.

Heb ook al eens een clean install geprobeerd, om te achterhalen of de containers elkaar wellicht bijten, maar ook dat is niet het geval.

Alle reacties


Acties:
  • +1 Henk 'm!

  • Hoite
  • Registratie: Februari 2008
  • Laatst online: 17-09 18:43

Hoite

Goed verhaal

Verwijderd schreef op zondag 5 april 2020 @ 20:18:
Heb sinds enige tijd een Raspberry Pi4 (naast mijn bestaande Pi3).
Doel is om alles van de Pi3 over te zetten op de Pi4, maar dan in Docker Containers.

Te weten:

- Domoticz
- Pi Hole
- ADS-B Flight Tracking
- Unifi Controller
- MRTG

Ben met betrekking tot Docker nog vrij nieuw.
Maar des ondanks heb ik Docker, met daarbij Portainer al werkend op mijn Pi.
Meer dan alleen de install packages gedownload & geinstalleerd heb ik er niet mee gedaan.

Helaas loop ik tegen wat issues aan waar ik nogal mee aan het puzzelen ben.

- Pi Hole
Het lukt me maar niet om lokale clients op basis van DNS werkend te krijgen.
Voorheen deed ik dat door in /etc/pihole/lan.list een aantal IP's met namen op te geven.
Nu snap ik dat je dit niet direct in de container moet doen, maar in een gemapped volume / folder.
Maar wat ik ook probeer, resolven lukt niet vanaf clients in het netwerk.
Bedoel je hiermee dat de je clients helemaal geen DNS responses krijgen van de pihole?
Controleer in je admin-panel even naar welke interface hij luistert (dat zou docker0 of 172.16.0.2 moeten zijn)
- ADS-B
Dit bestaat uit diverse containers.
dump1090
FlightRadar
PlaneFinder
PiAware

Met name de eerste is het belangrijkste, want daar worden de signalen opgevangen.
Echter, kan geen van die andere containers de naam van 'dump1090' resolven.
En daardoor werken de andere containers dus ook niet.
Nu zou dit van wat ik lees o.b.v. Docker informatie, automatisch moeten kunnen, echter mijn setup weigert het.
Wat je hiervoor zoekt is waarschijnlijk een Docker network
Om te testen zou je in de hostfiles van je andere containers de IP-adressering er even handmatig in kunnen zetten.
- MRTG
Nog niet aan begonnen, nog geen docker image voor gevonden.
Deze al gezien?

https://github.com/fboaventura/dckr-mrtg
Wellicht ziet iemand verbanden die ik inmiddels niet meer zie (bomen... bos...) en kan iemand mij in de juiste richting duwen naar de oplossing.

Heb ook al eens een clean install geprobeerd, om te achterhalen of de containers elkaar wellicht bijten, maar ook dat is niet het geval.
Het hele idee van docker is dat containers elkaar niet kunnen bijten, hooguit willen ze allemaal hetzelfde poortje, maar dat is met een beetje handmatige configuratie zo opgelost.

[ Voor 3% gewijzigd door Hoite op 06-04-2020 12:01 ]

Lekker kort.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoite schreef op maandag 6 april 2020 @ 12:00:
Bedoel je hiermee dat de je clients helemaal geen DNS responses krijgen van de pihole?
Controleer in je admin-panel even naar welke interface hij luistert (dat zou docker0 of 172.16.0.2 moeten zijn)
Nee, ik bedoel daarmee dat DNS resolving prima werkt vanaf de clients naar internet.
Maar wanneer ik een interne client een eigen DNS naam wil geven, dan resolved dat niet vanaf de clients.
Kom er maar niet echter waarom dat is.
Wat je hiervoor zoekt is waarschijnlijk een Docker network
Om te testen zou je in de hostfiles van je andere containers de IP-adressering er even handmatig in kunnen zetten.
Ze zitten allemaal in het default docker netwerk. Dan zou het toch al moeten werken?
Tenzij ik dat verkeerd heb geïnterpreteerd. Wanneer ik de hostfiles aanpas in de containers, raak ik die change dan niet kwijt bij een update van het container image?
Nope, thanks. Ga ik mee verder zodra ik de andere issues heb opgelost. Anders gooi ik er nog eentje in de mix...

Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:40
Verdiep je eens in het begrip ‘volumes’ i.c.m. Docker :) Dat lost je UniFi <> Watchtower probleem waarschijnlijk op :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ThinkPadd schreef op maandag 6 april 2020 @ 22:10:
Verdiep je eens in het begrip ‘volumes’ i.c.m. Docker :) Dat lost je UniFi <> Watchtower probleem waarschijnlijk op :)
Ik heb even gekeken in de UniFi containger.
Daarin wordt gebruik gemaakt van een volume.

/config -> /var/lib/docker/volumes/<GUID>/_data

Als ik op mijn Pi naar die folder ga, zie ik er ook content in staan.
Lijkt erop dat het issue wellicht ergens anders zit?

Ik gebruik als Docker Image iig deze voor UniFi:
linuxserver/unifi-controller:latest

Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:40
Ik gebruik deze geloof ik: https://hub.docker.com/r/jacobalberty/unifi

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kan ik proberen, maar het lijkt mij op zich vreemd dat het aan die andere container / image zou liggen?
Zo te zien is dat image wat ik gepakt heb ook best populair.

Ben wel bijna op het punt dat ik zeg, van ik mik al die software direct op mijn Pi, zoals ik het e.a. ook werkend had op mijn Pi3... tot nu toe geeft het meer frustraties dan dat ik nou echt blij wordt van Docker.

Acties:
  • +4 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Ik zou me eerst eens wat in de basisbeginselen van Docker inlezen, want je ziet het nut van dit soort dingen pas echt als je het idee erachter snapt en ook ziet dat het voor jou van meerwaarde kan zijn, want dat hoeft ook niet zo te zijn natuurlijk.

Ik gebruik Docker professioneel voor legio dingen, en bijvoorbeeld voor Home Assistant thuis omdat dit voor zo'n veelzijdig platform erg handig is. Maar verder weet ik niet waarom ik het thuis zou toepassen. De meeste applicaties die je noemt zijn een kwestie van 1 package installeren dus enorm veel werk bespaart het gebruik van een kant-en-klaar image je hier niet. En portability is een kwestie van betreffende package op ander platform installeren.

En Docker als een middel voor verhoogde security zien is security by obscurity IMHO tenzij je heel goed weet wat je doet.

Mocht je Docker gewoon willen leren kennen, en dat kan een goede reden zijn natuurlijk, dan zou ik heel Portainer bijvoorbeeld even achterwege laten totdat je begrijpt hoe je alles met de hand kunt doen. En daarna kan een tools als Portainer je helpen om het wat meer beheersbaar te houden. Een tool als Portainer doet soms dingen die je niet verwacht of kunt uitleggen wat het leerproces bemoeilijk, net als met je volumes die niet bewaard blijven bijvoorbeeld.

Voor zover je Docker interessant vind en het graag wilt leren begrijpen, zou ik letterlijk bij hun eigen documentatie beginnen: https://docs.docker.com/get-started/
Ik vind hem best begrijpelijk, maar dat is persoonlijk natuurlijk. :)

[ Voor 8% gewijzigd door --MeAngry-- op 08-04-2020 09:23 ]

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Prx
  • Registratie: September 2002
  • Laatst online: 12-09 20:36

Prx

Ook ik gebruik de eerder genoemde jacobalberty/unifi:latest image op mijn Synology op Docker. Daar heb ik een volume mapping gemaakt van /unifi in de container naar een directory op mijn Synology waar hij dan de volledige configuratie op slaat. Als gevolg kan ik simpel updaten met een nieuwe container en upgrade hij zelf de database wel.

De directorystructuur op mijn NAS die hij zelf heeft aangemaakt in het mapped volume is dan weer als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
data
|- backup
    |- autobackup
|- db
    |- diagnostic.data
    |- journal
|- sites
    |- default
        |- map
log
|- remote


Ziet het er bij jou ook ongeveer zo uit?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Prx schreef op woensdag 8 april 2020 @ 09:26:
code:
1
2
3
4
5
6
7
8
9
10
11
data
|- backup
    |- autobackup
|- db
    |- diagnostic.data
    |- journal
|- sites
    |- default
        |- map
log
|- remote


Ziet het er bij jou ook ongeveer zo uit?
Nope, toch iets anders:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
data
|- data
    |- backup
    |- db
    |- firmware.json
    |- keystore
    |- sites
    |- systems.properties
    |- systems.properties.bk
|- logs
    |- server.log
    |- mongod.log
    |- remote
|- run
    |- wat files


Apart, nou ja, ik maak wel een backup van UniFi en probeer deze container dan wel even.
--MeAngry-- schreef op woensdag 8 april 2020 @ 09:17:
Ik zou me eerst eens wat in de basisbeginselen van Docker inlezen, want je ziet het nut van dit soort dingen pas echt als je het idee erachter snapt en ook ziet dat het voor jou van meerwaarde kan zijn, want dat hoeft ook niet zo te zijn natuurlijk.

Ik gebruik Docker professioneel voor legio dingen, en bijvoorbeeld voor Home Assistant thuis omdat dit voor zo'n veelzijdig platform erg handig is. Maar verder weet ik niet waarom ik het thuis zou toepassen. De meeste applicaties die je noemt zijn een kwestie van 1 package installeren dus enorm veel werk bespaart het gebruik van een kant-en-klaar image je hier niet. En portability is een kwestie van betreffende package op ander platform installeren.

En Docker als een middel voor verhoogde security zien is security by obscurity IMHO tenzij je heel goed weet wat je doet.

Mocht je Docker gewoon willen leren kennen, en dat kan een goede reden zijn natuurlijk, dan zou ik heel Portainer bijvoorbeeld even achterwege laten totdat je begrijpt hoe je alles met de hand kunt doen. En daarna kan een tools als Portainer je helpen om het wat meer beheersbaar te houden. Een tool als Portainer doet soms dingen die je niet verwacht of kunt uitleggen wat het leerproces bemoeilijk, net als met je volumes die niet bewaard blijven bijvoorbeeld.

Voor zover je Docker interessant vind en het graag wilt leren begrijpen, zou ik letterlijk bij hun eigen documentatie beginnen: https://docs.docker.com/get-started/
Ik vind hem best begrijpelijk, maar dat is persoonlijk natuurlijk. :)
De reden om met Docker te gaan proberen is voor mij:
1) Om bekend er mee te raken
2) Te zorgen dan mij Pi minder snel 'vervuild' raakt door het installeren van allerlei software/tools/etc. probeer nog wel eens wat en in het verleden is er dan wel eens iets door stuk gegaan waardoor ik data verlies had.
3) Later wil ik nog mijn Pi3 gaan inzetten als failover, zodat de SD-kaart/Pi eens stuk kan/mag gaan. 't is nu allemaal een SPOF.

Zal me nog eens verdiepen in die documentatie. De essentie begrijp ik wel van een container, ook zo'n tutorial gevolgd over hoe je het e.a. opzet.
Maar wellicht dat ik toch nog een paar aanknopingspunten mis in het verheel.

Portainer gebruik ik alleen om een overzicht te hebben, alles maak ik verder zelf aan via de CLI.
Bijv:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker create -d \
    --name pihole \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -v "${DOCKER_CONFIGS}/pihole/:/etc/pihole/" \
    -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" \
    -v "${DOCKER_CONFIGS}/pihole/dnsmasq.conf:/etc/dnsmasq.d/00-additional.conf" \
    -e ServerIP="${IPv4}" \
    -e ServerIPv6="${IPv6}" \
    -e TZ=Europe/Amsterdam \
    --dns=127.0.0.1 --dns=8.8.8.8 \
    --hostname=PiHole-pi4 \
    --restart=unless-stopped \
    --cap-add=NET_ADMIN \
    pihole/pihole:latest


code:
1
2
3
4
5
6
7
8
9
10
11
12
docker create \
  --name=domoticz \
  --privileged \
  -e TZ=Europe/Amsterdam \
  -p 8888:8080 \
  -p 6144:6144 \
  -p 1443:1443 \
  -v /domoticz:/config \
  --device /dev/ttyUSB0:/dev/ttyUSB0 \
  --device /dev/ttyACM0:/dev/ttyACM0 \
  --restart unless-stopped \
 linuxserver/domoticz:latest\


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker pull linuxserver/unifi-controller:latest
docker create \
  --name=unifi-controller \
  -e PUID=1000 \
  -e PGID=1000 \
  -e MEM_LIMIT=1024M `#optional` \
  -p 3478:3478/udp \
  -p 10001:10001/udp \
  -p 8080:8080 \
  -p 8081:8081 \
  -p 8443:8443 \
  -p 8843:8843 \
  -p 8880:8880 \
  -p 6789:6789 \
  --restart unless-stopped \
linuxserver/unifi-controller:latest


Lijkt mij nou niet iets wat daar in mis gaat?

Acties:
  • +2 Henk 'm!

  • Prx
  • Registratie: September 2002
  • Laatst online: 12-09 20:36

Prx

Die inhoud van de map lijkt nog aardig overeen te komen. In ieder geval staat je hele database er in. Maar ik zie in de docker create niet de volume mapping naar lokaal.

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Verwijderd schreef op woensdag 8 april 2020 @ 10:27:
[...]

De reden om met Docker te gaan proberen is voor mij:
1) Om bekend er mee te raken
2) Te zorgen dan mij Pi minder snel 'vervuild' raakt door het installeren van allerlei software/tools/etc. probeer nog wel eens wat en in het verleden is er dan wel eens iets door stuk gegaan waardoor ik data verlies had.
3) Later wil ik nog mijn Pi3 gaan inzetten als failover, zodat de SD-kaart/Pi eens stuk kan/mag gaan. 't is nu allemaal een SPOF.

[...]
In principe lukt dat ook allemaal met config management, maar met Docker is het ook makkelijker inderdaad. Ik zou even goed prullen met wat volumes in testcontainers, want wat @Prx zegt klopt, ik zie nergens volume mappings in je UniFi container, dus dan is het niet vreemd dat je elke keer gegevens kwijt raakt. :)

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Volumes nu opgelost (gelijk voor alle containers).

code:
1
  -v /dockervolumes/unifi:/config \


Map aangemaakt /dockervolumes/
en dan per applicatie een subfolder met daarin de content.

Begrijp nu ook dat 't geen mapping is, maar een echte storage toepassing. :-)
Dus de static data staat in de container, en de variable data in het volume zodat het een nieuwe container deployment overleeft. :-)

Daarmee lijkt het dat mijn Unifi upgrade issue dan is opgelost.
Blijft de rest nog over. :-P
#puzzel.

Acties:
  • +2 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 21-09 13:25
Verwijderd schreef op maandag 6 april 2020 @ 15:45:
[...]

Ze zitten allemaal in het default docker netwerk. Dan zou het toch al moeten werken?
Nee, in het default netwerk kun je de containers niet via de hostname elkaar benaderen. Daarvoor moet je zelf een netwerk aanmaken en je containers daarmee verbinden.

Zie ook: https://docs.docker.com/network/bridge/

[ Voor 6% gewijzigd door firecaps30 op 27-04-2020 00:43 ]


Acties:
  • +1 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

Om te voorkomen dat je ellenlange (en onoverzichtelijke) commando's krijgt, kun je je (nadat alles werkt) mogelijk verdiepen in docker-compose.

Je kunt dan desgewenst al je services in dezelfde file opnemen of allemaal in verschillende.
Voor configuratie- en gebruiksgemak echt een aanrader.

Ik draai ook heel veel van jouw containers, maar allemaal vanuit docker-compose.

Die files zet ik dan weer in git, waardoor ik supersnel kan schakelen tussen host machines.

If money talks then I'm a mime
If time is money then I'm out of time

Pagina: 1