UDM-Pro-SE: docker-ce & docker-compose

Ik kan in ieder geval bevestigen dat het niet meer verstandig is cockpit & cockpit-docker te installeren op versie 2.3.10 aangezien de udapi-server wordt verwijderd

Code:
Fetched 5213 kB in 0s (21.7 MB/s)
Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 50192 files and directories currently installed.)
Removing udapi-server:arm64 (1.0.2-1843+gc679f2b8) ...
2021 Dec 24 09:22:01 UDM-Pro-SE death_handler: Fatal signal 15 received

Ondertussen alles weer in de lucht met 2.3.10 en het gaat een stuk makkelijker met enige voorbereidingen, backups klaar en de firmwares beschikbaar op de laptop (en het usb-ethernet kabeltje kunnen vinden ;-) )
 
  • Leuk
Waarderingen: SDeath
Onderstaand de wireguard.yml die ik actief (had)

YAML:
version: "2.1"
services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
      - SERVERURL=unifi.mijndomein.nl #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - /ssd1/docker/volumes/wireguard-data:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped
Krijg de volgende foutmelding bij je yml file:
Code:
Version in "/mnt/data/wireguard.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
heb verschillende versienummers geprobeerd maar ik krijg de boel zo niet aan de gang.
Heb de yml file op een andere locatie staan, maar dat lijkt me geen probleem in principe.
 
Als ik dit run dan start hij ook niet omdat hij niet de juiste kernel kan vinden:
Code:
root@UDM-Pro-SE:~# docker run linuxserver/wireguard
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 01-migrations: executing...
[migrations] started
[migrations] no migrations found
[cont-init.d] 01-migrations: exited 0.
[cont-init.d] 10-adduser: executing...
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
WireGuard: https://www.wireguard.com/donations/

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-module: executing...
Uname info: Linux 674eccc1d568 4.19.152-ui-alpine #4.19.152 SMP Sun Dec 19 15:06:24 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
RTNETLINK answers: Operation not permitted
**** The wireguard module is not active, will attempt kernel header install and module compilation. ****
**** Attempting kernel header install ****
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [74.6 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88.7 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports bionic/universe arm64 Packages [11.0 MB]
Get:6 http://ports.ubuntu.com/ubuntu-ports bionic/restricted arm64 Packages [572 B]
Get:7 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse arm64 Packages [153 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 Packages [1,285 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted arm64 Packages [4,427 B]
Get:10 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 Packages [1,990 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages [1,748 kB]
Get:12 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse arm64 Packages [5,317 B]
Get:13 http://ports.ubuntu.com/ubuntu-ports bionic-backports/main arm64 Packages [11.6 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-backports/universe arm64 Packages [12.2 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports bionic-security/restricted arm64 Packages [3,750 B]
Get:16 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse arm64 Packages [2,824 B]
Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe arm64 Packages [1,293 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports bionic-security/main arm64 Packages [1,360 kB]
Fetched 19.4 MB in 4s (5,375 kB/s)
Reading package lists...
**** No kernel headers found in the Ubuntu or Debian repos!! Will try the headers from host (if mapped), may or may not work ****
**** Kernel headers don't seem to be available, can't compile the module. Sleeping now. . . ****
 
Nog wat uitgebreidere aantekeningen, ik had hier hetzelfde met de docker-compose versie, ook belangrijk eerst de wireguard storage aan te maken, wireguard start hier nu weer.

# wireguard docker
WIREGUARD_DATA="wireguard-data"
docker volume create --name $WIREGUARD_DATA

# install docker-compose for version > 2.1
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

#
#docker pull linuxserver/docker-compose:"${DOCKER_COMPOSE_IMAGE_TAG:-latest}"
#docker image prune -f

YAML:
vi wireguard.yml
version: "2.1"
services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
      - SERVERURL=unifi.mijndomein.nl#optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - /ssd1/docker/volumes/wireguard-data:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

# build & start wireguard docker
docker-compose -f /root/wireguard/wireguard.yml up -d

# stop wireguard docker
docker-compose -f /root/wireguard/wireguard.yml down

# update wireguard
docker-compose -f wireguard.yml pull
docker-compose -f wireguard.yml up -d

Code:
# docker ps
CONTAINER ID        IMAGE                           COMMAND             CREATED             STATUS              PORTS                      NAMES
5986ff866a17        ghcr.io/linuxserver/wireguard   "/init"             38 seconds ago      Up 37 seconds       0.0.0.0:51820->51820/udp   wireguard
 
Laatst bewerkt:
  • Leuk
Waarderingen: SDeath
En wel zo netjes, enige bronvermelding (en handig voor de verdere client configuraties)

 
  • Leuk
Waarderingen: SDeath
Bedankt voor alle info!
Zijn deze paketten veilig te verwijderen als ik alles weer ongedaan wil maken: apt-transport-https ca-certificates curl gnupg2 software-properties-common
 
Uiteraard zijn ze er af na een ‘terug naar fabrieksinstellingen’ zoals we beide hebben ondevonden :rolleyes:

Maar je kunt alle extra geinstalleerde packages veilig verwijderen met:
- apt-get remove <package name>
- apt-get purge <package name> (verwijder ze ook direct van disk)

en met apt-get auto-remove verwijder je daarna alle extra geinstalleerde dependencies die eventueel zijn geinstalleerd
 
  • Leuk
Waarderingen: SDeath
Ja klopt, dat is mijn alternatief om er zeker van te zijn dat alles weer zo goed als stock wordt.
Aleen de WAF is niet zo groot na de restore een paar dagen terug. ;-)
Worden er hiermee geen dependencies verwijderd die al geinstalleerd waren en door andere pakketten worden gebruikt?

Ik vind dit een teveel houtje-touwtje oplossing met docker, heb best wel wat linux ervaring maar niet specifiek met docker.
Ga toch de andere native oplossing proberen.
Zie geen voordelen van docker als ik eerlijk ben, de installatie van docker en composer zorgen ook voor aanpassingen aan het OS.
De container software dan misschien niet, maar docker zelf en composer zitten ook overal in verweven.
De native oplossing lijkt me toch een betere.
Als is het alleen maar om de configs makkelijker aan te kunnen maken.
Heb hier meer ervaring mee op linux dan met docker.
 
Dat is het voordeel van de package manager apt maar er kunnen dus ook wel eens fouten in zitten zoals met de cockpit installatie, de vraag is altijd welke leverancier zich niet aan de afspraken heeft gehouden. Garanties zijn niet te geven en een goede DR is van groot belang, nu was ik weer binnen 15 minuten online en unifi en protect weer online.

simpel en kort, als je geen risico wil lopen en niet weet wat je doet is het verstandiger dit soort zaken niet op je core router te installeren maar zou ik zeker ook ver van de native oplossing vandaan blijven waarvan ik 100% zeker weet dat deze gaat instorten na de volgende firmware upgrade.

docker, podman en containerisatie zijn mooie technieken en handig in DEVOPS omgevingen waar zaken snel en hetzelfde moeten kunnen worden uitgerold maar uiteraard is verweven met het host OS.
 
That’s the fun of EA/Beta testing. 😉
M.a.w. morgen gaat de native versie erop. 🤣
Enige wat met de restore niet top liep was dat m’n flex mini’s in een Adoption failed loop kwamen, en ik ze 1 voor 1 moest resetten.
M’n iptables waren ook zo weer geregeld.
Dat script staat net als die native Wireguard op /mnt/data dat overleeft firmware updates.
Denk dat het meeste een update wel overleeft zoals hij zelf ook al aangeeft volgens mij.
Morgen het script even doorlezen.
De wireguard configs sla ik altijd nog op 1 van m’n servers op, dus zijn ook zo terug te kopiëren.
 
  • Leuk
Waarderingen: Hempie en Reddwarf
Hou ons op de hoogte van je vorderingen en jammer van de eerste slechte ervaringen met docker, het is even een leercurve maar het maakt het leven uiteindelijk een stuk makkelijker met updates, testen etc… maar uiteraard doet podman hetzelfde, enkel ga je nat als er updates komen waar dependencies in zitten die je bestaande binairies weer nodig hebben… (deja vu van jaren geleden.. altijd ruzie tussen verschillende installaties en daarvoor is de package manager uitgevonden)

P.S. mijn aantekeningen zijn echte alpha testen :cool:
 
  • Leuk
Waarderingen: Hempie
Dat werkt top en was zo klaar.
Ook op firmware versie 2.3.10 EA dus die net is uitgegeven.
De versie van wireguard/script is van ervoor dus ik heb een behoorlijk goede hoop dat dit een firmware update gaat overleven.
Eigenlijk zijn de installatie instructies simpel uit de tutorial:
1. Download het script en bestanden.
2. Pak het uit.
3. Run het script.
4. Zorg dat het script bij een reboot wordt uitgevoerd.
5. Maak een config voor de server en clients.

Ik zal waarschijnlijk vandaag weer een factory reset uitvoeren, en dan even de stappen op een rijtje zetten.
 
Restore gedaan en de hele boel draaide met een half uurtje, incl de restore en wireguard server setup.
Voor mijn bevindingen heb ik even een apart topic aangemaakt hier: https://unifi-forum.nl/onderwerpen/udm-pro-se-installatie-wireguard-vpn-server.2918/
Houdt de boel wat overzichtelijker.

Grote voordeel van deze setup is dat dit zo veel als mogelijk stock is.
Er hoeft niets geïnstalleerd te worden.
Alles maak je ongedaan door een startup script te verwijderen, of een service te disablen.
Dan is alles weer zo goed als stock.
 
  • Leuk
Waarderingen: Hempie
Als het blijft werken wil ik er met alle liefde een handleiding van maken, onderstaand alvast mijn eigen documentatie. Laat even weten als er zaken onduidelijk zijn.

## docker-ce installation

# install prerequsites
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

# setup docker repo for debian 9 - stretch
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/debian stretch stable"

# install docker-ce
sudo apt-get update
sudo apt-get install docker-ce
sudo apt-get install docker-compose

## move docker directory to ssd

# stop docker daemon
sudo systemctl stop docker

# create docker configuration file /etc/docker/daemon.json with this content
{
"data-root": "/ssd1/docker"
}

# move docker directory
mkdir /ssd1/docker
sudo rsync -aP /var/lib/docker/ /ssd1/docker
sudo rm -fr /var/lib/docker

# start docker
systemctl start docker



# nextdns.io installation
NEXTDNS_VERSION=master/SNAPSHOT-74b49b1 sh -c 'sh -c "$(curl -sL https://nextdns.io/install)"'
Hoi @Reddwarf , zijn deze instructies nog actueel? Check het even voordat ik aan de slag ga :)
 
Hoi @Reddwarf , zijn deze instructies nog actueel? Check het even voordat ik aan de slag ga :)
In theorie zou het nog allemaal moeten werken maar zal eerlijk zeggen dat ik er zelf geen gebruik meer van maak een ook Ubiquiti lijkt de weg van podman en containers te gaan verlaten met de 2.x fimware.

Zelf heb ik enkel nog nextdns op de UDM draaien en de rest op een vmware cluster op 2 Intel NUCjes
 
In theorie zou het nog allemaal moeten werken maar zal eerlijk zeggen dat ik er zelf geen gebruik meer van maak een ook Ubiquiti lijkt de weg van podman en containers te gaan verlaten met de 2.x fimware.

Zelf heb ik enkel nog nextdns op de UDM draaien en de rest op een vmware cluster op 2 Intel NUCjes
Ben wel gecharmeerd van podman en deze geïnstalleerd op de UDM-SE, icm met cloudflare-ddns en run-pihole containers (vraag me wel nog af wat "PiHole with DoTe" te bieden heeft topv normale pihole)
 
Activiteit
Er wordt op dit moment (nog) geen nieuwe reactie gepost.
  Topic Status: Hallo . Er is al meer dan 14 dagen geen nieuwe reactie meer geplaatst.
  De inhoud is mogelijk niet langer relevant.
  Misschien is het beter om in plaats daarvan een nieuw onderwerp te starten..