#cloud-config
autoinstall:
  version: 1

  source:
    id: ubuntu-server

  updates: all

  locale: de_DE.UTF-8
  keyboard:
    layout: de
  timezone: Europe/Berlin

  network:
    ethernets:
      eth0:
        dhcp4: true
    version: 2

  identity:
    username: administrator
    hostname: ubuntu
    password: '$6$WrDmgEhWC3COnEU5$cJab9rSjDiNrhDTLrYOfIpkgky3.6SGJQkDX7i6dN4Xi8YKd9C9t1jLjS6iU5Cdx5PjFb0IRDDB2VQKqn9HZC0'

  ssh:
    install-server: true
    allow-pw: true
    authorized-keys: []

  packages:
    - linux-azure

  shutdown: poweroff

  storage:
    layout:
      name: lvm
      sizing-policy: all
  
  user-data:
    runcmd:
      - |
        apt update
        apt upgrade -y
        apt install -y ca-certificates curl gnupg
        install -m 0755 -d /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 "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
        apt update
        apt install -y docker-ce docker-ce-cli containerd.io
        docker volume create portainer_data
        docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest