Test CSB Praktikum - Ubuntu 24.04 Autoinstall.Yaml - Full
The snippet can be accessed without any authentication.
Authored by
baumann
Variante 2 - Full-Installation
- Alle Anwendungen, sowie Extensions sind vorinstalliert
- Auch ARCitect & die VSCode Extension
- Fehlen tut derzeit xRDP
autoinstall.yaml 6.83 KiB
#cloud-config
autoinstall:
version: 1
source:
id: ubuntu-desktop
locale: en_US.UTF-8
keyboard:
layout: de
timezone: Europe/Berlin
storage:
layout:
name: lvm # Verwende LVM für die gesamte Festplatte. Alternativ geht auch direct
sizing-policy: all # Nutze den gesamten verfügbaren Speicherplatz
network:
version: 2
ethernets:
ens33:
dhcp4: true
dhcp6: true
identity:
username: csb_admin
hostname: localhost
password: "$5$H44IEgeGwUsnTmDw$nMpkWQEaO5hv6IZ.d9PXiw2NLWzlVAKWiR.n7w4.hx3"
drivers:
install: true # Automatische Installation der Treiber | Im Test wurden Nvidia-Treiber + CUDA installiert
ssh:
install-server: true
allow-pw: false # Passwort-Auth deaktiviert
authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDVZWi4m9PxvCKtatG+CM8NO4H94mrcKITkvcAg2tYEN2kokG4BuHwakfAWzIBU2XhWZodknCAbwXwYBbFa1mtvNEn5bEYQtv6zs9tb3SFOqwmg9/ldbA0Q9bBbVTRFkBGuvv0z/NJ7VKPm+OVjVL+JxT8IAj6XQI87SznmGoH/90cH/baXsJeDZlvjwhi7u8N5Slb533OX/RA/OIfYqjJO2x05eHGHyrCbIU24wzCrfO+sx2EjP4yQ1oy2tue+WmYUNrdMvG2YwfAmuEE21SNcBoYZIpJi63MqtUAklc3JtfJqe1ZdNno0yeoX1h39au6UwHntCKB66GUTA7o+jiowmUOoE88AFPUBpJBksHznW1J1BFaWt2RcdDJXhWONg0cBXWH0DFQJygsIx4tO0OwYT10JYQsOScQIemjRududmBqa1S54jCsz9sNLRdqkEWqyNFMYC5Hv+EhmVSSeWtpqYCkBpG0i4K3aUIIPsmViXxXxNOhZ8eRM8tg707bptNlVW7z10hMDAh5GAOToTKDL1IWyRjLhd23gqkAyAT2v3ZZSbulO6Yaiyh7m7EAAWuz7QFWa99+eBnCYTHL4XB80Ge3LoAsVE62Fow7juvAHAV37ZjM+YkYXORTx1rq8HPvUxAeXOGqBhyi7lWQDFGnW7kLPC1Vq/YbHXTPX69JScw==
user-data:
users:
- name: csb_user
shell: /bin/bash
lock_passwd: false
passwd: "$6$NAC8WrL4TH0Cd82B$CqNILbIn2wqw7hDWEKXDdFGdhjyvMY8lxJFSYHe18vuuIZn7Ta1QT7np9rEO6TYJTE8i7wzv7ptUorBxkBQu3."
groups: users
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDVZWi4m9PxvCKtatG+CM8NO4H94mrcKITkvcAg2tYEN2kokG4BuHwakfAWzIBU2XhWZodknCAbwXwYBbFa1mtvNEn5bEYQtv6zs9tb3SFOqwmg9/ldbA0Q9bBbVTRFkBGuvv0z/NJ7VKPm+OVjVL+JxT8IAj6XQI87SznmGoH/90cH/baXsJeDZlvjwhi7u8N5Slb533OX/RA/OIfYqjJO2x05eHGHyrCbIU24wzCrfO+sx2EjP4yQ1oy2tue+WmYUNrdMvG2YwfAmuEE21SNcBoYZIpJi63MqtUAklc3JtfJqe1ZdNno0yeoX1h39au6UwHntCKB66GUTA7o+jiowmUOoE88AFPUBpJBksHznW1J1BFaWt2RcdDJXhWONg0cBXWH0DFQJygsIx4tO0OwYT10JYQsOScQIemjRududmBqa1S54jCsz9sNLRdqkEWqyNFMYC5Hv+EhmVSSeWtpqYCkBpG0i4K3aUIIPsmViXxXxNOhZ8eRM8tg707bptNlVW7z10hMDAh5GAOToTKDL1IWyRjLhd23gqkAyAT2v3ZZSbulO6Yaiyh7m7EAAWuz7QFWa99+eBnCYTHL4XB80Ge3LoAsVE62Fow7juvAHAV37ZjM+YkYXORTx1rq8HPvUxAeXOGqBhyi7lWQDFGnW7kLPC1Vq/YbHXTPX69JScw==
- name: csb_admin
shell: /bin/bash
lock_passwd: false
sudo: "ALL=(ALL) NOPASSWD:ALL" # Admin-Benutzer mit Sudo-Rechten - Optional NOPASSWD weglassen für PW-Abfrage
groups: sudo
passwd: "$5$H44IEgeGwUsnTmDw$nMpkWQEaO5hv6IZ.d9PXiw2NLWzlVAKWiR.n7w4.hx3"
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDVZWi4m9PxvCKtatG+CM8NO4H94mrcKITkvcAg2tYEN2kokG4BuHwakfAWzIBU2XhWZodknCAbwXwYBbFa1mtvNEn5bEYQtv6zs9tb3SFOqwmg9/ldbA0Q9bBbVTRFkBGuvv0z/NJ7VKPm+OVjVL+JxT8IAj6XQI87SznmGoH/90cH/baXsJeDZlvjwhi7u8N5Slb533OX/RA/OIfYqjJO2x05eHGHyrCbIU24wzCrfO+sx2EjP4yQ1oy2tue+WmYUNrdMvG2YwfAmuEE21SNcBoYZIpJi63MqtUAklc3JtfJqe1ZdNno0yeoX1h39au6UwHntCKB66GUTA7o+jiowmUOoE88AFPUBpJBksHznW1J1BFaWt2RcdDJXhWONg0cBXWH0DFQJygsIx4tO0OwYT10JYQsOScQIemjRududmBqa1S54jCsz9sNLRdqkEWqyNFMYC5Hv+EhmVSSeWtpqYCkBpG0i4K3aUIIPsmViXxXxNOhZ8eRM8tg707bptNlVW7z10hMDAh5GAOToTKDL1IWyRjLhd23gqkAyAT2v3ZZSbulO6Yaiyh7m7EAAWuz7QFWa99+eBnCYTHL4XB80Ge3LoAsVE62Fow7juvAHAV37ZjM+YkYXORTx1rq8HPvUxAeXOGqBhyi7lWQDFGnW7kLPC1Vq/YbHXTPX69JScw==
runcmd:
# VSCode-Erweiterungen für alle Nutzer installieren - Durch runcmd automatisch nach dem ersten Reboot. Funktioniert sonst nicht
- |
export PATH=$PATH:/snap/bin
for user in csb_user csb_admin; do
sudo -u $user code --install-extension ms-dotnettools.dotnet-interactive-vscode
sudo -u $user code --install-extension ms-vscode-remote.remote-containers
done
# Benutzer zur docker-Gruppe hinzufügen
- |
for user in csb_user csb_admin; do
usermod -aG docker $user
done
# ARCitect installieren und konfigurieren
- |
mkdir -p /opt/ARCitect
# Holen der neuesten Version von ARCitect
LATEST_URL=$(curl -s https://api.github.com/repos/nfdi4plants/ARCitect/releases/latest | grep browser_download_url | grep AppImage | cut -d '"' -f 4)
if [ -n "$LATEST_URL" ]; then
wget -O /opt/ARCitect/ARCitect.AppImage "$LATEST_URL"
chmod +x /opt/ARCitect/ARCitect.AppImage
# AppImage extrahieren - Die folgenden Schritte sind notwendig, da ARCitect sonst nur im --no-sandbox Modus startet
cd /opt/ARCitect
./ARCitect.AppImage --appimage-extract
# Berechtigungen setzen auf root
chown root:root squashfs-root/chrome-sandbox
chmod 4755 squashfs-root/chrome-sandbox
# Wrapper-Skript erstellen
echo '#!/bin/bash' > /usr/local/bin/ARCitect
echo '/opt/ARCitect/squashfs-root/AppRun "$@"' >> /usr/local/bin/ARCitect
chmod +x /usr/local/bin/ARCitect
# Berechtigungen für /opt/ARCitect setzen
chmod -R a+rx /opt/ARCitect
else
echo "Konnte die neueste Version von ARCitect nicht finden."
exit 1
fi
packages:
- git
- git-lfs
- python3-pip
- net-tools
- libfuse2 # Notwendig für AppImage-Unterstützung von ARCitect unter Ubuntu
snaps:
- name: pycharm-community
channel: stable
classic: true
- name: code # VSCode
channel: stable
classic: true
late-commands:
# .NET 8.0 SDK und Runtime für Ubuntu 2404
- |
curtin in-target --target=/target -- bash -c '
apt-get update && \
apt-get install -y dotnet-sdk-8.0 && \
apt-get install -y aspnetcore-runtime-8.0
'
# Docker installieren (aus dem offiziellen Docker-Repository)
- |
curtin in-target --target=/target -- bash -c '
apt-get remove -y docker docker-engine docker.io containerd runc || true
apt-get update
apt-get install -y ca-certificates curl gnupg lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable docker
systemctl start docker
'
-
-
Users inkl. PW & SSH -
Keyboard, Language -
Storage (nimmt 100%) -
Network (V4 & V6 via DHCP) -
Drivers (klappt, anscheinend auch Nvidia und CUDA) -
Git -
DotNET SDK & Runtime -
Docker -
VSCode -
VSCode Extensions (nur im RUNCMD-Block - Wird nach Abschluss der Installation nach dem ersten Reboot durchgeführt) -
RDP fehlt noch (xrdp) -
Edit Funktioniert - Benutzer zur Docker Group hinzufügen
-
Please register or sign in to comment