main
__________ .___ _____ .___
\______ \_____ __| _/ / _ \ | |
| | _/\__ \ / __ | / /_\ \| |
| | \ / __ \_/ /_/ | / | \ |
|______ /(____ /\____ | \____|__ /___|
\/ \/ \/ \/
B A D A I - H O S T ( D E B I A N , A M D G P U )
Installazione
Infrastruttura AI containerizzata con Podman rootless su Ubuntu con GPU AMD.
Prerequisiti
- Debian 13 o superiore
- Utente non-root con privilegi sudo
- GPU AMD (opzionale, per ottimizzazioni)
1. Aggiornare il sistema
sudo apt update && sudo apt upgrade -y
2. Aggiungere l'utente ai gruppi render e video
sudo usermod -a -G render,video $LOGNAME
sudo loginctl enable-linger $USER
echo 'net.ipv4.ip_unprivileged_port_start=80' | sudo tee /etc/sysctl.d/99-rootless-ports.conf
sudo sysctl --system
3. Installare Podman e strumenti utili
sudo apt install -y podman htop radeontop curl
4. Creare cartelle per systemd containers
mkdir -p ~/.config/containers/systemd
5. Creare internal.network
Crea il file internal.network nella directory systemd:
tee ~/.config/containers/systemd/internal.network <<'EOF'
[Unit]
Description=Internal network for containers
After=network-online.target
[Network]
NetworkName=internal
Subnet=10.10.0.0/24
Gateway=10.10.0.1
DNS=9.9.9.9
[Install]
WantedBy=default.target
EOF
6. Aggiungere registri a /etc/containers/registries.conf
printf "[registries.search]\nregistries = [\"docker.io\", \"quay.io\", \"ghcr.io\"]\n" | sudo tee -a /etc/containers/registries.conf > /dev/null
7. Creare /srv/containers e assegnare permessi
sudo mkdir -p /srv/containers
sudo chown -R $LOGNAME /srv/containers
8. Banner SSH
Per installare il banner SSH, crea il file /etc/issue e copia il banner al suo interno:
sudo tee /etc/issue <<'EOF'
__________ .___ _____ .___
\______ \_____ __| _/ / _ \ | |
| | _/\__ \ / __ | / /_\ \| |
| | \ / __ \_/ /_/ | / | \ |
|______ /(____ /\____ | \____|__ /___|
\/ \/ \/ \/
B A D A I - H O S T ( D E B I A N , A M D G P U )
EOF
Se vuoi disabilitare altri script MOTD:
sudo bash -c 'for f in /etc/update-motd.d/*; do if [ -f "$f" ]; then mv "$f" "${f}.disabled"; fi; done'
Visualizza il banner con:
cat /etc/issue
9. Configurare GRUB per GPU AMD
Se hai una GPU AMD, configura GRUB con i parametri appropriati:
# Seleziona la quantità di RAM disponibile: 16, 24, 32 o 48 GB
# Esempio per 32GB:
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="amdgpu.gttsize=32768 amdttm.pages_limit=36864000"/' /etc/default/grub
sudo update-grub
sudo reboot
Valori di riferimento per GPU AMD:
- 16 GB RAM:
amdgpu.gttsize=16384 amdttm.pages_limit=18432000 - 24 GB RAM:
amdgpu.gttsize=24576 amdttm.pages_limit=27648000 - 32 GB RAM:
amdgpu.gttsize=32768 amdttm.pages_limit=36864000 - 48 GB RAM:
amdgpu.gttsize=49152 amdttm.pages_limit=55296000
10. Scaricare file container specifici
REPO_URL="https://code.badstorm.xyz/SRV/bdi_podman_serverconf/raw/main"
curl -fsSL $REPO_URL/containers/llamacpp/llamacpp.container -o ~/.config/containers/systemd/llamacpp.container
curl -fsSL $REPO_URL/containers/nginx/nginx.container -o ~/.config/containers/systemd/nginx.container
11. Avviare i servizi
systemctl --user daemon-reload
systemctl --user start internal.network
systemctl --user start llamacpp nginx
12. Utilizzo
Dopo l'installazione, i servizi container possono essere gestiti con:
podman ps # Elencare container attivi
podman logs <name> # Visualizzare log
systemctl --user status <service> # Verificare lo stato
systemctl --user restart <service> # Riavviare un servizio
Описание
Languages
Shell
62.4%
Dockerfile
37.6%