Installation eines Cyolo IDAC im LXC Container

You are here:
Estimated reading time: 3 min

Nachfolgend beschreibe ich die Installation eines Cyolo IDAC in meinem Labor. Dieser wird auf einem Proxmox Server und in einem Ubuntu LXC Container installiert.

Wichtig – Vorausgesetzt wird, dass eine entsprechende Cyolo Lizenz vorhanden ist, um die Installation mit einem lauffähigen Cyolo IDAC oder PG abschliessen zu können.

Die Installation erfolgt auf der Basis der Cyolo-Dokumentation – https://docs.cyolo.io/docs/overview-4

Als Template wird der Ubuntu 24.04 LXC Container von Proxmox verwendet. Sollte dieses Template nicht zur Verfügung stehen, kann die Template Liste folgendermassen über die Proxmox Shell aktualisiert werden:

pveam update

Danach das passende Template auswählen und herunterladen.

Jetzt kann der LXC Container mit Ubuntu 24.04 erstellt werden:

Wichtig – das Nesting muss bei diesem Container aktiviert sein, da im LXC-Container noch eine Docker-Umgebung installieren werden soll, in welcher der Cyolo IDAC laufen wird.

Template auswählen:

Die Harddisk-Grösse festlegen – bei einem IDAC mit Video-Aufzeichnung werden min. 150GB vorausgesetzt. Für die Labor-Umgebung wird wesentlich weniger definiert, da die Funktion nur zu Demo-Zwecken genutzt wird. Sollen keine Video-Aufzeichnungen gespeichert werden, kann auch mit min. 60 resp. 80GB gestartet werden. Für die Laborumgebung werden 40GB definiert.

Die minimalen Anforderungen an vCPU sind von Cyolo mit 4 und empfohlen mit 6 angegeben. Für die Laborumgebung werden 2 vCPUs verwendet, da diese Anzahl für die Labor-Umgebung ausreichend ist.

Anschliessend wird die Grösse des Arbeitsspeichers definiert. Cyolo empfiehlt mindestens 8GB RAM für die IDAC Instanz. Für die Laborumgebung werden 4 GB Memory und 2GB Swap-Size definiert.

Anschliessend sind die für die Umgebung passenden Netzwerk-Parameter in der Netzwerk-Konfiguration einzutragen.

Wichtig – Falls „VLAN Tag“ verwendet werden soll, um den IDAC in ein anderen VLAN zu stellen, muss sichergestellt sein, dass die betreffende Proxmox Linux Bridge mit „VLAN aware“ konfiguriert ist.

Hier sind nachfolgend die DNS Domain und Server Einstellungen zu ergänzen.

Abschliessen kann die Erstellung des Containers abgeschlossen werden.

Ist der Ubuntu LXC-Container gestartet, kann auf die Konsole zugegriffen und mit der Cyolo-Installation weiterverfahren werden.

Bevor mit der Installation von Cyolo weitergefahren wird, müssen noch die „ulimits“ des Containers auf folgende Werte angepasst werden:

lxc.prlimit.nofile = 1048576:1048576
lxc.prlimit.nproc = 65535:65535
lxc.prlimit.memlock = -1:-1

Dazu muss auf dem Proxmox-Host die Konfigurationsdatei des betreffenden Containers geöffnet werden:

nano /etc/pve/lxc/<CTID>.conf

Die Konfigurationsdatei sieht dann folgendermassen aus:

Im nächsten Schritt wird sichergestellt, dass das Template auf einen aktuellen Stand gebracht wird und es werden die entsprechenden Updates installiert:

apt update && apt upgrade -y

Anschliessend werden die zusätzlich benötigten Pakete installiert:

apt install curl netcat-traditional dnsutils openssl -y

Anschliessend überprüfen, ob alle Anforderungen des Ubuntu Containers, für die weitere Installation erfüllt sind und auf der Konsole folgenden Befehle eingeben:

curl -L https://deploy.cyolo.io/cyolo_check.sh -o cyolo_check.sh
chmod 755 cyolo_check.sh
./cyolo_check.sh

Die Ausgabe des Skripts sollte etwa folgendermassen aussehen:

=======  Checking for Dependencies
/bin/nc
/bin/dig
/bin/openssl

=======  Upstream config
Extracting values from docker-compose.yml
UPSTREAM is tcp.cyolo.io:443
UPSTREAM_SNI is tcp.cyolo.io
NATIVE_SSH_UPSTREAM_ADDR is ssh.cyolo.io:22
AFFINITY_URL is affinity.cyolo.io
UPSTREAM_CLOCK is clock.cyolo.io:443
UPSTREAM_CLOCK_SNI is clock.cyolo.io

=======  Cyolo Cloud
Checking the tcp.cyolo.io DNS Resolving
	13.248.169.106
	76.223.40.26
Validating connection to tcp.cyolo.io:443 - timeout is set for 10 seconds
	openssl 13.248.169.106 on port 443 - success
	openssl 76.223.40.26 on port 443 - success
Checking Access to Cloud Deployment (system.cyolo.io) - direct
	HTTP Status Code: 200
	DNS Resolving: 0.001512s
	Total Time: 0.042202s
Checking the ssh.cyolo.io DNS Resolving
	3.77.90.52
	3.77.240.47
	35.158.46.208
Validating connection to ssh.cyolo.io:443 - timeout is set for 10 seconds
	openssl 3.77.90.52 on port 443 - success
	openssl 3.77.240.47 on port 443 - success
	openssl 35.158.46.208 on port 443 - success
Checking Access to Cloud Deployment (system.cyolo.io) - direct
	HTTP Status Code: 200
	DNS Resolving: 0.001827s
	Total Time: 0.030331s
Affinity affinity.cyolo.io results:
	eu-routers-i-0d11691b4e1e8d890.cyolo.io 443
Validating connection to the Affinity - timeout is set for 10 seconds
	accessing eu-routers-i-0d11691b4e1e8d890.cyolo.io 443 - success
Latency check for Affinity
	HTTP Status Code: 200
	DNS Resolving: 0.002593s
	Total Time: 0.020839s

=======  Cyolo Services
Checking the metrics.services.cyolo.io DNS Resolving
	52.17.209.253
	54.77.35.69
Validating connection to metrics.services.cyolo.io:443 - timeout is set for 10 seconds
	openssl 52.17.209.253 on port 443 - success
	openssl 54.77.35.69 on port 443 - success
Checking Access to Cloud Deployment (system.cyolo.io) - direct
	HTTP Status Code: 200
	DNS Resolving: 0.001185s
	Total Time: 0.045536s
Accessing services.cyolo.io results - success
Accessing registry.cyolo.io/v2/cyolosec/idac/tags/list results - success

=======  Speed Check
Check download speed
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10.4M  100 10.4M    0     0  36.3M      0 --:--:-- --:--:-- --:--:-- 36.3M

=======  Docker & Docker Compose
Get Docker Version
	Docker version 28.0.4, build b8034c0
Get Docker Compose Version
	docker-compose version 1.25.4, build 8d51620a

=======  TLS inspection test
openssl test results - success

=======  Check Cyolo Clock
Checking Access to Cyolo Clock - direct
IDAC  Clock: 2025-04-04T08:34:08
Cyolo Clock: 2025-04-04T08:34:08

Falls die Checks nicht erfolgreich sind, müssen die Fehler entsprechend behoben werden, bervor mit der weiteren Installation fortgefahren werden kann.

Die Installation wird, gemäss der Dokumentation von Cyolo, weiter ausgeführt – https://docs.cyolo.io/docs/step-1-initial-installation – welche selbsterklärend ist und hier nicht mehr weiter ausgeführt wird.

Was this article helpful?
Dislike 0
Views: 41