Jeżeli chcielibyśmy aby docker współpracował z naszą maszyną wirtualną na Proxmox`ie, musimy wykonać następujące kroki:

  1. Instalujemy maszynę/kontener na Proxmox`ie
  2. Ustawiamy na naszej maszynie w ustawieniach Opcje -> Features na nesting=1
  3. Instalujemy docker komendą apk add docker
  4. Zmieniamy wpisy dla cgroups w Alpine Linux i po wpisach restarujemy maszynę/dockera:
# remove dirs for failed mounts 
rmdir /sys/fs/cgroup/cpu && rmdir /sys/fs/cgroup/cpuacct && rmdir /sys/fs/cgroup/net_cls && rmdir /sys/fs/cgroup/net_prio 
# mount missing cgroups (Ubuntu style) 
mkdir "/sys/fs/cgroup/cpu,cpuacct" 
mount -n -t cgroup -o "nodev,noexec,nosuid,cpu,cpuacct" "cpu,cpuacct" "/sys/fs/cgroup/cpu,cpuacct" 
ln -s "cpu,cpuacct" /sys/fs/cgroup/cpu 
ln -s "cpu,cpuacct" /sys/fs/cgroup/cpuacct 
mkdir "/sys/fs/cgroup/net_cls,net_prio"
mount -n -t cgroup -o nodev,noexec,nosuid,net_cls,net_prio" "net_cls,net_prio" "/sys/fs/cgroup/net_cls,net_prio" 
ln -s "net_cls,net_prio" /sys/fs/cgroup/net_cls
ln -s "net_cls,net_prio" /sys/fs/cgroup/net_prio
# mount systemd cgroup (Alpine mounts openrc, but Docker requires systemd...) # (based on hint at https://k9s.hatenablog.jp/entry/2019/06/16/075741) 
mkdir /sys/fs/cgroup/systemd 
mount -n -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

Przeniesienie maszyny fizycznej nie jest skomplikowanym procesem. Zakładamy, że mamy maszynę fizyczną z Ubuntu i chcemy ją przenieść do środowiska wirtualnego Proxmox. W tym celu wykonujemy następującą kroki:

1.Maszyna fizyczna z np. Ubuntu – logujemy się do terminala i poniższą komendą tworzymy nasz dysk wirtualny:

dd if=/dev/sda | ssh naszakopia@192.168.x.x dd of=/home/naszakopia/vm-110-disk-1.raw status=progress

Kopię dysku maszyny fizycznej akurat w moim przypadku zrzuciłem bezpośrednio do Proxmox

2. Na samym Proxmox`ie tworzę za pomocą GUI nową maszynę wirtualną zbliżoną parametrami do maszyny fizycznej.

3. Loguję się do terminala Proxmoxa i kopiuje utworzony dysk do np. katalogu mojej maszyny wirtualnej (generalnie nie ma znaczenia gdzie skopiujemy dysk vm-110-disk-1.raw), a następnie wchodzę do katalogu:

/etc/pve/qemu/server/mojamaszyna.conf 

i edytuje linijkę:

virtio0: local-lvm:100/vm-110-disk-1.raw,size=1100G

4. Następnie uruchamiam w GUI Proxmox`a z moją maszynę wirtualną.

Uwagi końcowe: w moim przypadku gdy przenosiłem Ubuntu system wszedł do busybox`a. Przy komendzie:

exit

system wyświetlił mi informację o rozjechaniu się plików. Jednakże komendą:

fsck /dev/sda1 (lub /dev/mapper/ - zależy jak mieliśmy dyski podpięte)  

rozwiązało problem.

W nowej wersji PHPMyAdmin występuje błąd jak poniżej:

W powyższym przypadku musimy w terminalu znaleźć ścieżkę:

/usr/share/phpmyadmin/libraries/sql.lib.php

oraz zmienić w wierszu 613 następującą treść z:

|| (count($analyzed_sql_results['select_expr'] == 1)

na

|| (count($analyzed_sql_results['select_expr']) == 1

Aktualizując Rainloop Webmail spotkałem się z taką podatnością, iż widoczny jest plik apllication.ini dla wszystkich z zewnątrz po wpisaniu:

/data/_data_/_default_/configs/application.ini

Rozwiązaniem okazało się dodanie w pliku Apache2 a dokładnie w conf-enabled -> rainloop.conf linijki jak poniżej:

<Directory /usr/share/rainloop/data/data/default/configs/>
     deny from all
 </Directory>